home *** CD-ROM | disk | FTP | other *** search
Text File | 2012-10-27 | 458.1 KB | 11,476 lines |
- * 2012-10-27 0.9.3 released
-
- 2012-10-25 zzz
- * BuildHandler: Fix "too slow" rejections due to internal clock skew
-
- 2012-10-24 zzz
- * I2PSnark:
- - Fix several partial piece (temp file) leaks
- - Don't lose all DHT peers if we stop quickly
- - Explore a kbucket if it's less than 3/4 full
-
- 2012-10-24 str4d
- * i2ptunnel: Truncate long client destinations (ticket #581)
-
- 2012-10-21 zzz
- * Watchdog: Don't dump threads too often (ticket #519)
-
- 2012-10-20 zzz
- * Transport: Back out CoDel for SSU PeerState and NTCP
-
- 2012-10-19 zzz
- * UDP: Fix peer test NPE (ticket # 748)
-
- 2012-10-18 kytv
- * Portuguese and Spanish updates from Transifex
- * Update geoip.txt based on Maxmind GeoLite Country database from 2012-10-02
-
- 2012-10-15 kytv
- * Italian and Swedish updates from Transifex
-
- 2012-10-14 zzz
- * Console: Use non-nio connector for Java 5 and JamVM/gij
- (tickets #715 and #743)
- * i2psnark: Fix request tracking bug preventing piece requests
-
- 2012-10-11 kytv
- * Italian translation updates from Transifex
- * i2prouter:
- - Support for installing as a daemon with systemd on Arch Linux and Suse
- - Support installing as a daemon on Slackware
-
- 2012-10-10 zzz
- * ShellCommand: Fix launching all browsers at startup (ticket #453)
- * stats.jsp: Sort groups by translated name
-
- 2012-10-09 zzz
- * Console, i2ptunnel: Warn on low ports
- * EventLog: Add more events
- * NetDB: Increase floodfills again
- * RouterInfo: Exit 1 on error in main()
- * SSU:
- - Add peer test throttling
- - Peer test packet count fixes
- - Adjust peer test timeouts and add backoff
- - Reject relays and peer tests from same /16
- - More peer test cleanup and log tweaks
- * Transports:
- - Enforce minimum peer port
- - Warn on low router ports
-
- 2012-10-08 zzz
- * SSU:
- - Fix relay request handling bug from -10
- - Fix peer test reply handling bug from -10
- - Fix NPE from -6
-
- 2012-10-07 zzz
- * I2PAppContext: Improved synching in constructor
- * i2ptunnel:
- - Set default read timeout in standard server
- - Reduce header timeout, enforce total header timeout
- in IRC and HTTP servers (ticket #723)
- * Logs:
- - Flush buffers in logs.jsp
- - Add dup message to buffers, was in file only
- * Streaming: Don't ignore option or force connect timeout to 5 minutes
- * UPnP: Workaround NPE (ticket #728)
-
- 2012-10-06 zzz
- * configlogging.jsp: Fix IAE
- * error500.jsp: Fix whitespace
- * i2psnark:
- - Add allocating and checking indications
- - Add bandwidth message at startup
- - More checks at torrent creation
- * SSU:
- - Throttle outbound destroys on shutdown
- - Limit outbound introduction offers
- - Validate port/IP in received peer tests
-
- 2012-10-05 zzz
- * configservice.jsp: Add GC button
- * DataHelper: Sanity checks in storeProps(), use
- storeProps() for router config again
- * SSU:
- - More synchronization fixes
- - Reduce chance of dup acks in a single message
- - Reduce max unsent acks to 50
- - Use last ack time in ping decision too
- - Reduce ack delay
- * TunnelPoolManager: Fix early NPE (ticket #724)
-
- 2012-10-03 zzz
- * NTCP: Reduce conLock contention
- * SSU:
- - Increase max outbound establishments based on bandwidth
- - Synchronization fix for Java 5
- - Use multiple buffer sizes in OutboundMessageState to
- reduce memory usage
- - Adjust skew calculation, synchronize too
- - Ping loop improvements
-
- 2012-10-02 zzz
- * I2CP: Delay after sending disconnect message to
- help it get through
- * i2psnark: Fix delete download message
- * i2ptunnel: Fix log message
- * NTCP: Only set keepalive if firewalled
- * OOMListener: Dump threads on OOM
- * PRNG, LogWriter: Use I2PThread to catch OOM
- * SimpleByteCache: Fix ABQ/LBQ selection
- * SSU:
- - Fix memory leak in _peersByRemoteHost map caused by not
- removing peers that change IP or port
- - Send keepalives if firewalled
- - Handle peers that change ports on an established session
- - Synchronize adds and drops
- - Don't use peers with high RTTs in clock skew calculation
- - Reduce initial RTT/RTO
-
- 2012-09-28 zzz
- * i2psnark:
- - Fix bugs in rarest-first tracking
- - Fix requesting of partial piece when there are multiple seeds
- - Synch fix in BitField
- * i2ptunnel: Fix wrong server IP in log message
- * peers.jsp: Remove SSU "Dev" column
- * SessionKeyManager: Store original tagset size for debugging
- * Streaming: Don't send RST on globally-blackisted conns
-
- 2012-09-26 zzz
- * Addresses: Reject numeric IPs of the form n, n.n, and n.n.n
- * Console, i2ptunnel: More validation of address and port in forms
- * ConvertToHash:
- - Add support for b64hash.i2p
- - Cleanup and use cache
- * i2psnark: Enable DHT by default
- * RFC822Date: Synchronization fix
- * Streaming:
- - Implement changing connection limits on a running session
- - Implement global blacklist
-
- 2012-09-25 zzz
- * Context: Make files final
- * EventLog: Fix IAE on portable
- * Jetty: Add non-NIO selector option (ticket #715)
- * OutboundEstablishState: Cleanup (ticket #671)
- * SimpleByteCache: Concurrent fix
- * UPnP: Cleanup & final
- * URLLauncher: Add xdg-open (ticket #717)
-
- 2012-09-21 zzz
- * BuildHandler: Use CoDel for inbound queue
- * ByteCache:
- - Prevent release of wrong size
- - Move all 16/32 byte users to SimpleByteCache
- - Increase SimpleByteCache default size.
- * ClientConnectionRunner:
- - Run HandleJob and MessageReceivedJob inline for speed
- - Remove payload from message map if availability announce fails
- - Cleanups
- * ClientManager:
- - Concurrent client map for faster lookup
- - Add by-hash client map for faster lookup by hash
- * ClientWriterRunner: Limit queue size
- * Clock: Synchronization, log large shifts to event log
- * Console: Mark all restarts on graphs using the event log.
- * FortunaRandomSource:
- - Fix bug that wasted entropy in nextInt()
- - Improved synchronization
- * GarlicMessage:
- - Add notes about GarlicMessageHandler and HandleGarlicMessageJob
- being unused in practice
- * I2CP:
- - Limit router/client queue sizes and queue wait times
- - Buffer output streams
- * i2psnark:
- - Implement blacklist for unreachable DHT peers
- - Reduce threshold for unreachable
- - Use ByteCache for chunks in/out
- * IP Lookup:
- - Add caching in RouterAddress with secondary caching
- in Addresses; use caches to speed up transport bids,
- blocklist checks, geoip lookups, and profile organizer
- checks (ticket #707)
- - Limit IP cache size in TransportImpl
- - Clear caches at shutdown
- * JobQueue: Reduce lock contention
- * LHMCache: New util, replacing several private versions
- * LogWriter:
- - Duplicate log message removal
- - Increase buffer time
- * NTCP: Move NTCPConnection outbound queue to CoDelPriority
- * OutNetMessage:
- - Centralize priority definitions
- - Raise netdb store and reply priority
- * Router:
- - Boost priority of shutdown thread
- - Replace ident log with new, general-purpose event log;
- use for stops, starts, and updates, and others.
- - New AQM CoDel queue utilities
- - Startup/shutdown synchronization fixes
- * RouterAddress: Remove unused expiration field to save space
- * SimpleTimer (ticket #653):
- - Move all remaining uses to SimpleTimer2
- - Deprecate
- * SSU:
- - Move MessageReceiver, UDPSender and UDPReceiver queues to CoDel
- - Separate PeerState outbound message list into a queue for unsent messages
- and a list for sent messages awaiting ack
- - Implement PeerState outbound queue as CoDelPriority
- - Implement backlogged indication like in NTCP
- - Increase initial and max RTO
- - Don't count ack-only packets in bandwidth allocation
- * Streaming: Don't send a RST to an hour/day limited peer,
- or blacklisted, or non-whitelisted, to not waste outbound bandwidth
- * SystemVersion: New util, to consolidate duplicate code,
- and determine Java version on Android
- * TunnelGateway:
- - Refactor TunnelGateway.Pending to its own file PendingGatewayMesasge
- - Move OBGW queue to CoDelPriority
- - Move IBGW queue to CoDel
- - Limit queue sizes
- - Add stat for overflow
- - Remove some stats
- - Change pumper to LinkedHashSet for efficiency
- (like NTCP Reader/Writer)
- - Limit messages pumped per cycle to increase
- round-robin fairness
- - Implement pushback from a backlogged transport
- queue to the pre-fragmentation queue
- - Comment out some unused code
-
- * 2012-09-21 0.9.2 released
-
- 2012-09-15 zzz
- * Build: Fix unpack problem on Java 5: http://forum.i2p/viewtopic.php?t=7334
-
- 2012-09-14 zzz
- * SSU: Fix shutdown NPE (ticket #709)
-
- 2012-09-13 kytv
- * Update geoip.txt based on Maxmind GeoLite Country database from 2012-09-05
-
- 2012-09-12 kytv
- * Czech translation updates from Transifex
-
- 2012-09-10 meeh
- * Added fix for startup issues on newer versions of launchd (osx startup scripts)
-
- 2012-09-05 meeh
- * Added startup scripts for osx
-
- 2012-09-04 zzz
- * I2PTunnelServer: Clean shutdown after session exception
- * OutNetMessage: Speedup after profiling (ticket #707 - thx dg, kytv, zab)
- * SSU: Fix some issues with queueing outbound establishments
-
- 2012-08-31 zzz
- * i2psnark: Remove * from magnet and download names
- * Router: Lengthen shutdown spinner life
- * Startup: Don't complain about clients.config missing on Android
-
- 2012-08-29 zzz
- * ClientManager: Cleanups
- * i2psnark:
- - Fix NPE on destroy() if init() failed
- - Add new flood-resistant KBucket trim policy
- - Limit received MsgID size
- * NTCP: Reduce lock contention (ticket #697)
- * RandomIterator: Workaround for Android bug (ticket #703)
-
- 2012-08-27 zzz
- * i2psnark:
- - Notify threads awaiting DHT replies at shutdown
- - Fix cases where we weren't using the session for b32 lookup
- * Reseed: Remove forum.i2p2.de
- * Streaming: Limit amount of slow-start exponential growth
- * SSU:
- - Limit UDPSender queue size
- - Increase UDPSender max packet lifetime
- - Clear UDPSender queue before sending destroys to all
- - Increase PeerState queue size so large streaming windows
- don't get dropped right away, especially at slow start
- - Various improvements on iterating over pending outbound
- messages in PeerState
- * Wrapper: Update armv7 to 3.5.15
-
- 2012-08-27 kytv
- * Update Java Service Wrapper to v3.5.15.
- - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
- changed from Tanuki's default to Itoopie.
- - FreeBSD: Self-compiled in FreeBSD 7.4 to eliminate the dependency on the
- compat6x port.
- - Linux ARMv5, Linux PPC32: Self-compiled in Debian Squeeze
- - Linux x86, Linux x64, MacOSX & Solaris: Binares are from the "community
- edition" deltapack offered by Tanuki. The x86 and x64 binaries for Linux
- have been stripped.
-
- 2012-08-26 zzz
- * DataHelper: Trim trailing whitespace when loading properties
- * NetDB: Increase floodfills, decrease flood redundancy
- * SendMessageOptions: Increase tag fields to 4 bits and use
- table lookup for more flexibility
- * Streaming: Use packet type and current window size to adjust
- number of tags sent and tag threshold, to improve
- efficiency and reliability
-
- 2012-08-25 kytv
- * Dutch and German translation updates from Transifex
- * Router console typo fixes (#701)
-
- 2012-08-25 zzz
- * SDSCache: Reduce min and increase max size
- * SimpleByteCache: Change from LBQ to ABQ to reduce object churn
- * Other object churn cleanups (ticket #699)
-
- 2012-08-24 zzz
- * I2CP:
- - Add methods for sending a message with extended options
- - Fix cases where the efficient sendNoEffort() wasn't being used
- * i2psnark:
- - Use extended I2CP options for datagrams
- - Fix timeout for sent datagrams
- - Add link for local torrent file on details page
- - Show totals line even if only one torrent
- - Reduce token timeout
- - Check token age before use
- - Limit incoming token size
- * OCMOSJ:
- - Implement per-message overrides for tag threshold,
- tags to send, and bundle leaseset
- - Fix bug adjusting timeouts
- - Warn on client expiration time bugs
-
- 2012-08-23 zzz
- * Crypto: Rename bouncycastle HMAC libs so they don't conflict
- with older Android versions which bundle them
- * NTCP: Reduce lock contention (ticket #697)
- * SSU:
- - Don't relay or introduce to/from privileged ports
- - Various spoof detections
-
- 2012-08-22 zzz
- * NetDB: Add hash collision detection
- * SimpleTimer2: Synchronization improvements (ticket #653)
- * SSU:
- - Fail establishment immediately on SessionCreated
- validation fail
- - Defer outbound DH generation until required
- - Validate address/port in RelayIntro messages
- - Throttle hole punches
- - Workaround for Android ICS bug
- - More cleanups
-
- 2012-08-21 zzz
- * NetDB: Decrease stat publish probability
- * SSU:
- - Use external, not internal port to sign SessionCreated message.
- Together with previous fix to allow external port change, this
- should fix session establish fails when NAT changes our port
- - Track outbound establishments by both Hash and IP/port,
- to improve lookups of establishments in progress
- - Fix expiration of outbound establishments
- - Validate address/port in RelayResponse messages
- - Change RemoteHostID to store Hash instead of byte[] for the peer hash
- - Log tweaks
-
- 2012-08-20 zzz
- * I2CP: MessageStatus cleanup
- * i2psnark: Add minimum tracker and DHT announce intervals
- * I2PTunnelRunner: Remove unnecessary lock (ticket #690)
- * SSU: Allow port change if firewalled
- * Streaming: Increase max connection timeout
- * UPnP:
- - Prep for UPnP returning different external port
- - Better logging of errors
-
- 2012-08-18 kytv
- * Fix hang during uninstallation experienced by some users in Windows
-
- 2012-08-17 zzz
- * i2psnark:
- - Adjust DHT timeouts
- - Add max peers per-torrent in tracker
- - Remove duplicate clean task for nodes
- - Fix another DHT warning message
- * SSU:
- - Use remote MTU when published (ticket #682)
- - Queue outbound msgs during inbound establish
- - IntroManager cleanups
- - More synchronization
-
- 2012-08-17 sponge
- * BOB: just some cleanup of old, dead meaningless commentedout code
- and a little reformatting.
-
- 2012-08-16 zzz
- * Utils: Drop unused BufferedRandomSource, PooledRandomSource,
- EepGetScheduler, EepPost and HTTPSendData, moved to i2p.scripts
-
- 2012-08-15 zzz
- * i2psnark:
- - Fix bug preventing completion announcement, broken in 0.9.1
- - Fix setting short retry time after initial announce failure
- - Fix DHT announce and getPeers
- - Fix DHT warning message
- * UPnP: Update to CyberLink 2.1 (ticket #427, possibly others)
-
- 2012-08-13 zzz
- * SSU EstablishmentManager:
- - Remove use of outbound timers in EstablishmentManager; drive all events in Establisher thread
- - Don't change nonces when retransmitting intro packets
- - More synchronization in EstablishmentManager
- - Increase establishment timeouts and implement timeouts for individual phases (ticket #669)
- - Fix bug where InboundEstablishState.createdPacketSent() wasn't being called,
- so SessionCreated packets weren't retransmitted
- - Increase retransmission timeout for SessionCreated and implement backoff
- - Send destroy if establishment times out in the middle
- - Fix code that pulls outbound states off a deferred queue
- - Improve UDPPacket.toString() for debugging
- - More logging of packets dropped in EstablishmentManager
- - Change establish states to enums
-
- 2012-08-12 zzz
- * Jetty: Don't use direct byte buffers that may be leaking (ticket #679)
- * PeerManager: Fix NPE on Android (ticket #687)
- * SSU:
- - Reject some packet types if they came in via fallback introKey
- - Increase retransmission timeout for SessionRequest, SessionConfirm,
- and RelayRequest; implement backoff
- - Move UDPFlooder to test
- - More volatiles, finals, cleanups, stat removals, log tweaks
-
- 2012-08-11 zzz
- * DataHelper: toString(byte[]) cleanup
- * i2psnark:
- - Fix DHT nodes not being saved at shutdown
- * RouterContext: Make the contexts list concurrent
- * SSLEepGet: Don't throw UOE in TrustManager
- * SSU MTU (ticket #682):
- - Use local MTU detection
- - i2np.udp.mtu now sets max MTU, not initial MTU
- - Put local MTU in netDb
- - Fix receive MTU calculations
- - Track remote MTU based on actual received packet size
- - Display local MTU on peers page
-
- 2012-08-10 kytv
- * German and Greek translation updates from Transifex
-
- 2012-08-09 zzz
- * Datagrams: Remove static logs
- * i2psnark:
- - Remove static SnarkManager instance
- - Allow DHT-only torrents
- - DHT debugging
- * NTCP: Stat cleanup
- * SAM:
- - Don't use direct byte buffers that may be leaking (ticket #679)
- - Volatiles and finals
- * SSU:
- - Don't send a packet that exceeds the MTU
- - Stub out local MTU detection (ticket #682)
- - More cleanups
-
- 2012-08-07 str4d
- * Console:
- - Theme updates from dr|z3d
- - Changed universal theming key so it is not mistaken as a theme
- name by the routerconsole
- * i2psnark:
- - Theme updates from dr|z3d
- - If universal theming is set and routerconsole theme is classic,
- use light theme explicitly
- * susidns: new midnight theme from dr|z3d
-
- 2012-08-06 zzz
- * Clone System properties before iterating to avoid
- ConcurrentModificationException (ticket #680)
- * Console: Fix flag links on /console to return to same page
- * i2psnark: Add support for DHT (disabled by default)
- * jbigi: Add ARMv6 libjbigi.so for Raspberry Pi
-
- 2012-08-05 zzz
- * I2PSessionImpl: One more volatile (ticket #659)
- * i2ptunnel, I2CP, EepGet: Buffer socket input streams (ticket #666)
- * UDP:
- - Limit PacketHandler threads to 1 (ticket #660)
- - Limit queue sizes between UDPReceiver and PacketHandler,
- and between PacketHandler and MessageReceiver, to prevent OOMs
- and/or excessive queue delays
- - Increase UDPPacket cache size based on max mem
- - Remove more stats
-
- 2012-08-03 zzz
- * build.xml: Add buildI2PTunnelJar target for Android
- * i2psnark: Finish migration to I2P logging to reduce object churn (ticket #673)
- * LogManager: Add logger.logBufferSize and logger.dropOnOverflow options (ticket #662)
- * JobQueue: Synch fix (ticket #670)
- * OutNetMessage: Fix NPE when log level = INFO (ticket #676)
- * SimpleScheduler, SimpleTimer2: Replace getInstance() calls
- * UDP:
- - Catch some cases where UDPPackets were not returned to the cache (ticket #675)
- - Fix inverted logging logic (ticket #663)
- - Remove check in UDPPacket.getLifetime() (ticket #664)
- - RemoteHostID cleanup, cache hashcode
- - Remove udp.fetchRemoteSlow stat
- - Remove some time stamping in UDPPacket
- - Other cleanups - see http://zzz.i2p/topics/1198
-
- 2012-08-03 str4d
- * Console: universal theming support - packaged apps will try and use the routerconsole
- theme if universal theming is enabled there and the same theme exists for the app.
-
- 2012-07-31 str4d
- * core, router:
- - Existing JUnit test framework fixed up and running.
- - Code coverage tools (Clover and Cobertura) integrated into unit test targets.
- - Implemented new test-related targets to provide a ScalaTest test framework.
-
- 2012-07-30 zzz
- * build.xml: Move more default properties to build.properties
- * DecayingBloomFilter, DecayingHashSet, xlattice filters:
- - Move from core to router
- - Comment out tests
- * ElGamal/AES/SessionTag:
- - Increase TX expire from 10 to 12 min, while keeping RX expire at 15 min.
- 3 minutes should be plenty of clock skew + delay.
- - Move tags-to-send and low-threshold values to be per-SKM
- - New session config options crypto.tagsToSend and crypto.lowTagThreshold
- - Prep for per-packet override of tags and thresholds
- - Cleanups and Javadocs
- * GarlicMessageBuilder:
- - Put data clove last to speed acks and leaseset store on far end
- * I2PTunnel: Add some defaults for the new session config options
- * OCMOSJ:
- - Don't bundle LeaseSet just because we're requesting an ACK
- - Changed session config option shouldBundleReplyInfo to default to true
- and be used to disable bundling altogether when set to false.
- Was previously an undocumented option to force bundling with a certain probability.
- - Don't send tags unless we've already generated a reply token (race)
- - Cleanups and Javadocs
- * RoutingKeyGenerator: Cleanups (ticket #672)
-
- * 2012-07-30 0.9.1 released
-
- 2012-07-28 str4d
- * Console: theme fixes
-
- 2012-07-26 kytv
- * Update geoip.txt based on Maxmind GeoLite Country database from 2012-07-04
- * Finnish, French, German, Spanish and Swedish translation updates from TX
-
- 2012-07-26 sponge
- * BOB Fix static references to Log
-
- 2012-07-24 sponge
- * BOB reset spin flag to enable restart from zap command
-
- 2012-07-24 str4d
- * Summary bar: disable fallback iframe in summary.jsi (so when JS is disabled
- the summary bar will not refresh at all)
- * Home page:
- - Replaced 16x16 icons with 32x32 ones
- - Updated icon for git.repo.i2p
- - Moved RestartStatus back above LocalDestinations
-
- 2012-07-24 zzz
- * LookaheadInputStream: Fix bug causing gunzip fails, esp. on Android
- * Router: Don't create router.ping file on Android
- * SSLEepGet: Fix on Android (ticket #668)
-
- 2012-07-21 zzz
- * i2psnark: Remove dark theme
- * Reseed: Add new cert for cowpuncher
- * SSU: Remove exception creation (ticket #665)
-
- 2012-07-21 str4d
- * Home page: unlinked the iframed pages for i2psnark and susimail (the pages
- /webmail and /torrents still exist, but the console links to the apps
- directly instead for now)
-
- 2012-07-19 str4d
- * Home page: replaced itoopie with an eepsite icon (c/o dr|z3d) for eepsites
- with no icon of their own.
- * i2psnark:
- - New light theme (c/o dr|z3d) which integrates with console light theme
- - Moved table heading text into tooltips to reduce visual clutter
-
- 2012-07-18 str4d
- * Home page: Added id3nt.i2p and git.repo.i2p
-
- 2012-07-18 zzz
- * Home page: Add colombo-bt.i2p, remove keys.i2p
- * i2psnark: Clear rate stats when restarting torrent
-
- 2012-07-16 str4d
- * console: work towards better integration
- - Wrapped the bundled apps in iFrames (with a link in the page header to
- open the app in a new tab):
- - i2ptunnel
- - i2psnark
- - susimail
- - susidns
- - Theme improvements
- - Added theme support to susimail and susidns
- - "susimail.theme=foo" in susimail.config
- - "theme=foo" on susidns config page
- - Extensive work on dark console theme (dr|z3d)
- - Improved integration of i2ptunnel in iframe
- - General improvements
- - New dark themes for i2psnark, susimail and susidns which integrate well
- with dark console theme (dr|z3d)
- - Tweaks to other themes (console and i2psnark) to work with the various
- structural changes (dr|z3d)
- - Added per-theme favicons
- - Updated IE shim to fix some issues
- - Summary bar improvements
- - Updated every console page to use Ajax for the summary bar
- - Falls back to iFrame if JS disabled
- - Ajax refresh time is adjustable
- - The summary bar is now customizable; sections can be added, removed and
- reordered as desired
- - Added/updated tooltips
- - Added a new summary bar section to show news headings when the main news
- display is hidden
- - Changes to structure of /home to bring it in line with rest of console
- * i2psnark
- - Reworked the torrent info/file manager page to improve the layout
-
- 2012-07-15 zzz
- * XORComparator: Reduce object churn (Ticket #658)
-
- 2012-07-12 kytv
- * Translations from Transifex:
- - Add new Greek translation
- - Dutch translation update
-
- 2012-07-01 zzz
- * i2psnark:
- - Don't send a keepalive to a peer we are going to disconnect
- - Disconnect peer when idle a long time
- - PeerCheckerTask cleanup
- - Static ref cleanup
- - Don't show a downloaded torrent file as "seeding"
- - Better torrent file download icon
-
- 2012-06-29 zzz
- * HTTP Proxy: Change the error code for unknown host from 404 to 500
- * SimpleTimer: Fix logging
- * Streaming:
- - Allow at least 3 packets and up to half the window to be active resends
- instead of just 1, to reduce stall time after a packet drop
- - Increase fast retransmit threshold back to 3 to reduce retransmissions
- - Don't fast retransmit if we recently retransmitted it already
- - Allow double the window as long as gaps are less than the window
- - Don't set the MSS in a resent packet (saves 2 bytes)
- - Remove redundant calls to updateAcks()
- - Update activity timer when resending a packet
- - Reset unackedPacketsReceived counter at all places where acks are sent
- so it isn't wrong
- - Fix some places where the activeResends count could become wrong
- - Prevent storm of CLOSE packets
- - Never resend the whole packet in ackImmediately(), just send an ack
- - Cancel flusher timer in MessageOutputStream when closed
- - Move some createRateStats to ConnectionManager to reduce repeated calls
- - Cleanups, javadocs, logging, volatile, finals
- * Update: Increase eepget timeouts
-
- 2012-06-24 zzz
- * ElGamalAESEngine: Fix bad size estimate when tags are included,
- resulting in trailing zeros after the padding
- in the unencrypted data
- * i2psnark: Don't create a new PeerCoordinator after restart, as the
- TrackerClient holds on to the old one and that causes it
- to not get peers. Possibly fixes ticket #563.
- * I2PTunnel: Fix NPE on shared client creation, thx kytv
- * Transport: Add Ethiopia to hidden mode list
-
- 2012-06-21 zzz
- * I2CP: Make separate message ID counters per-destination, use atomic,
- increase max (could have caused "local loopback" problems)
- * IRC Client: Don't flush output unless out of input, so the
- streaming messages don't get split up unnecessarily
- * OCMOSJ, ElG, Streaming: log tweaks
- * TunnelInfo: Change msg counter from long to int
- * TunnelPeerSelectors: Minor refactoring to store context
- * TunnelPool: Fix bug where a tunnel was marked as reused when it wasn't
- * TunnelPoolManager: Use one ClientPeerSelector for all pools
-
- 2012-06-20 zzz
- * I2PSession:
- - Greatly simplify the VerifyUsage timers
- - Constructor cleanup
-
- 2012-06-19 zzz
- * i2psnark:
- - Hide buttons while stopping all
- * Socks: Pass remote port through
- * Streaming:
- - Listen only on local port if set
- - Listen only for streaming protocol if configured (new option)
- - Javadocs re: ports
-
- 2012-06-18 zzz
- * i2psnark:
- - Improve torrent shutdown handling to maximize chance of
- announces getting to tracker
- - Thread task to open tunnel and improve UI feedback while open is pending
- - Clean up delete-torrent messages
- - Remove redundant shutdown hook
- - Avoid NPE in PEX message handling
- - Log tweaks
-
- 2012-06-15 zzz
- * I2PSocketEepGet: Use specified port
- * I2PTunnel:
- - Don't strip port from an I2P URL
- - More client options cleanups
- - Options changes now propagate to running
- socket managers and sessions, and through to the router
- - Better parsing of jump server URLs
- * NetDB: Only publish stats every so often, to improve
- anonymity while preserving the ability to monitor
- the network (effective next release)
- * SocketManager:
- - Simplify factory, use 4-arg constructor,
- make fields final, deprecate 0-arg constructor
- - Improve how options are updated
- - Javadocs
-
- 2012-06-13 zzz
- * I2PSocketEepGet: Set port to 80
- * I2PTunnel:
- - Pass port through HTTP client proxy
- - HTTP server proxy sets host header to
- the value of "spoofedhost.xx" option for port xx
- - Set client options more efficiently
- * i2psnark: Possible fix for piece-after-choke
- * Streaming:
- - Channel cleanups and comments
- - New I2PSocketAddress
-
- 2012-06-11 zzz
- * i2psnark:
- - Display torrent file downloads in torrent area
- - Sort magnets and downloads first
- - Fix sorting problem when torrent dir is a symlink
- - Reduce max file idle time
- - Reduce TrackerClient threads
- - Reduce delay between peer adds for faster startup
- - Thread the announces and reduce timeout when stopping
- * NativeBigInteger: Workaround for Raspberry Pi to load the correct lib
- * Router: Don't let shutdown tasks hang the shutdown (tickets #564, #566)
-
- 2012-06-08 zzz
- * i2psnark:
- - Move private tracker config from create box to torrent config
- - Refactor private and open tracker configuration
- - Add private indication on details page
- * netdb.jsp: Don't show our info on summary page
-
- 2012-06-04 zzz
- * i2psnark: Take tracker out of opentracker list when removed
-
- 2012-06-03 kytv
- * Translation updates:
- - Add Hungarian language from Transifex (thanks AdminLMH!)
- - Italian language updates from Transifex (thanks ColumboBT)
-
- 2012-06-02 zzz
- * i2psnark: Improve opentracker configuration
- * Job Queue: Add failsafe check
-
- 2012-06-01 zzz
- * Console: Tab the netdb and profile pages
- * i2psnark: Fix partially-complete torrent not announcing
- * NetDB: Reduce flood redundancy from 8x to 6x
-
- 2012-05-31 zzz
- * i2psnark:
- - Add per-hour conn limit
- - Blacklist peer after two bad handshakes
- - Reduce connect timeout
- - Close connection immediately if bad protocol
- - Stop adding peers when we hit the limit
- - Lower limit for outbound connections so we give
- new peers a better chance in large swarms
-
- 2012-05-30 zzz
- * Graphs: Reduce log EOF error to warn
- * i2psnark:
- - Increase max upload (ticket #645)
- - Increase per-minute conn limit from 6 to 8
- - Improve rarest-first behavior
- - Handle URI encoding, UTF-8, and multiple trackers in magnet links
- * Timestamper:
- - Move from core to router, leave stub in core
- so it doesn't break compatibility. This removes a
- thread in app context and prevents any app context from
- running NTP; external clients must use the time
- received from the router.
- - Increase query interval
-
- 2012-05-28 kytv
- * i2prouter: Add support so that 'i2prouter install' will work in ArchLinux
- * jbigi/jcpuid scripts: Improve support for ArchLinux
-
- 2012-05-25 kytv
- * German, Italian, Spanish, and Swedish translation updates from Transifex
-
- 2012-05-23 zzz
- * i2psnark:
- - Fixes when complete except for skipped files
- (ticket #447) status in UI, don't connect outbound,
- disconnect seeds when done
- - Custom tracker map AIOOBE fix
- - More classes pkg private
- * jobs.jsp: Add more queue diagnostics
-
- 2012-05-22 zzz
- * i2psnark:
- - Refactor tracker map
- - Prevent torrent shutdown when changing file priority to skip
- - Fix deadlock when changing file priorities
- * RoutingKeyModifier: Update after large clock shift
-
- 2012-05-20 zzz
- * Console: Add full file path to thread dump message
- * i2psnark:
- - Create sparse files at torrent creation and delay
- "ballooning" until first write (ticket #641, #447)
- - Redo clear messages button
- - Concurrent message queue
- * Profiles: reduce same-country bonus
- * RoutingKeyModifier: Several changes to ensure the routing key
- is correctly changed just after midnight.
-
- 2012-05-19 zzz
- * i2psnark:
- - Store received chunks in temp files
- - Don't allocate from heap for unneeded chunks
- - Remove peer count restriction for torrents with large pieces
- - Use priorities and rarest calculations to sort partials
- - Preserve p parameter in clear messages link
-
- 2012-05-13 zzz
- * Console: Add X-Frame-Options to headers,
- disable with routerconsole.disableXFrame=true
-
- * 2012-05-02 0.9 released
-
- 2012-04-26 kytv
- * German, Spanish, and Swedish Translation updates
- from Transifex
-
- 2012-04-20 zzz
- * Remove search box
- * Fix i2psnark dir when started from Windows no-wrapper
- (ticket #627)
-
- 2012-04-14 kytv
- * Update wrapper to v3.5.14
- * Update geoip.txt from Maxmind's April 2012 database
-
- 2012-04-12 kytv
- * German, Spanish, and Swedish translation updates from Transifex
-
- 2012-04-12 zzz
- * Console:
- - Try again to fix console on Windows w/o IPv6
- by starting connectors individually
- - Fix whitespace issues on several pages
- - Prevent rare early NPE
- - Non-default theme cleanups
- - Theme and translate home page logo
-
- 2012-03-28 zzz
- * RouterInfo: Fix fatal NPE in last checkin
-
- 2012-03-27 zzz
- * FloodfillVerify:
- - Fix verifies stuck on one peer by blamimg the verify peer on failure
- - Follow DSRM in response to RI verifies
- - Increase floodfill verify timeout
- * Home page: Delay router down message until two consecutive fails
- * RouterInfo: Add method to validate sig during read-in for speed
-
- 2012-03-27 sponge
- * A hopeful fix to allow SHOUTcast/icecast to work over the http proxy.
- * A little more code clean up
-
- 2012-03-26 zzz
- * Code cleanups:
- - Remove unused imports
- - Remove unused local variables
- - Remove unused private fields
- - Remove unnecessary casts
- * Console:
- - Try again to fix console on Windows w/o IPv6 (ticket #621)
- - Move oldconsole rendering from Router to OldConsoleHelper
-
- 2012-03-24 zzz
- * GarlicConfig: Remove more unused methods
- * i2psnark:
- - Fix dup torrent msg with magnets (tickets #433 and #504)
- - Fix state when storage dies during transition out of magnet mode
- - Fix NPE in magnet mode
- - Error logging improvements
- - Support add-torrent with infohash alone
- - CSS tweaks
-
- 2012-03-22 zzz
- * Home page: CSS tweaks
- * Reseeder: Get rid of static instance, root in netDB,
- don't use system properties for status
- * RetransmissionTimer: Instantiate per-destination
- * Router: When removing a config setting, remove from context also
- * SimpleScheduler, SimpleTimer, SimpleTimer2: Replace static instances
- with I2PAppContext-rooted references
-
- 2012-03-20 zzz
- * i2psnark: Message area tweaks and clear link
- * NetDB:
- - Don't reread RI if netdb date is recent
- - Prevent LS/RI overwrites
- - Disallow hash mismatches in RI files
- - Reseed won't fetch our own RI
- - Reseed won't overwrite recent RIs
- * Router: Make runRouter() public
-
- 2012-03-19 sponge
- * Plugins: Less confusing message, fix CNFE by catch and ignore on delete.
- Order and reverse order plugin names for start/stop all cases.
-
- 2012-03-18 zzz
- * Jetty: Fix check alias override
-
- 2012-03-17 zzz
- * BuildHandler: Implement restart and shutdown to stop the thread
- * Jetty: Don't extract wars
- * FileUtil: Better logging of weird unpack200 errors
- * I2PTunnel: Make CLI-only methods private, and static where possible
- * Streaming: Scheduler cleanup
-
- 2012-03-16 zzz
- * FragmentHandler: Zero-copy read of unfragmented messages
- for speed and to reduce object churn
- * Home page: Tag tooltip; CSS tweaks; news tweak
- * HTTP Proxy: Jump and addresshelper page tweaks
- * Jetty: Add I2P mime types to default eepsite config
- * OCMOSJ: Refactor cache to its own class, make non-static
- * TransportManager: Fix fatal exception on soft restart caused by DHSKB refactoring
- * TrustedUpdate: Preserve default key names even when keys are set
- in advanced config
-
- 2012-03-15 sponge
- * Plugins:
- - String.isEmpty() [ java 6 ] -> (String.length() == 0) [ java 5 ]
- - for a file: URL, use "Attempting to copy plugin from" message
- - s/{0}// on non-translated string
- - grammar: "File copy failed {0}" -> "Failed to copy file from {0}"
- - use the context provided to get startup time
- - getCanonicalPath() -> getAbsolutePath()
- - install != update. Don't change the user's settings, and don't restart
- it on an update if "dont-start-at-install". This gives the same
- functionality as before.
-
- 2012-03-14 zzz
- * Blockfile, i2psnark: Remove static logs
- * DHSessionKeyBuilder:
- - Move from core to router/transport
- - Make non-static, instantiate in TransportManager
- - Generate keypair in constructor and make final
- to move more processing to the precalc thread
- and eliminate races
- - Synchronize getSessionKey() to eliminate races
- - Comment out unused methods
- * Jetty:
- - Set default cache-control for webapps and eepsite
- - Disable dir listing for console webapps
- * UDPTransport:
- - Make key builder final in InboundEstablishState to
- eliminate rare NPE (ticket #406)
- - Remove unused static instance
- * YKGenerator: Make non-static, instantiate in ElGamalEngine
-
- 2012-03-13 sponge
- * Add sponge.i2p :-D bump version.
-
- 2012-03-13 sponge
- * Plugins:
- - Fix a bug in the updater. It was not comparing the correct name.
- - Plugin updates can now be deferred if router-restart-required is set.
- The update happens at the next router restart.
-
- 2012-03-13 sponge
- * Plugins:
- - Handle 'file://' URLs for installation and updates (ticket #429).
- You must specify the entire path, e.g.
- file:///home/someone/magicplugin.xpi2p
- - This works for updates too!
- - Only tested on Linux, needs to be tested on Windows.
-
- 2012-03-12 zzz
- * Console:
- - Better IPv6 test, hopefully will work on Windows
- - Hide home page flags once language is selected
- - Home page shrinkage and other CSS tweaks
-
- 2012-03-11 sponge
- * Slackware package script updates
-
- 2012-03-11 zzz
- * Build:
- - Include old commons logging classes in commons-logging.jar
- - Preserve manifests in Jetty/Tomcat jars
- * Jetty Logger: Promote warns to errors when a Throwable is the second arg
-
- 2012-03-11 sponge
- * fix broken comment in jetty.xml
-
- 2012-03-10 zzz
- * Build: Add new jetty jars to router.jar classpath so it works
- on very old installs with individual jars specified in the
- wrapper.config classpath
- * configloggging: Fix clearing log overrides
- * Console: Test if IPv6 addresses will work before instantiating
- connectors, so Jetty will still start without them
- * HTTP Proxy: Fix generation of jump links (ticket #616),
- broken by refactoring in -1
- * Jetty Logger: Put a note in wrapper log saying where the logs went
-
- 2012-03-09 zzz
- * Update default eepsite base context to use DefaultServlet
- instead of ResourceHandler, to provide resume, directory
- indexes, caching, etc.
- * Simplify default eepsite base and CGI contexts to use a Context
- instead of a ContextHolder, ServletHandler, and ServletHolder
-
- 2012-03-08 zzz
- * GarlicConfig: Remove unused reply block methods
- * SessionKeyManager:
- - Don't use unacked tagsets after consecutive ack failures
- and revert to full ElGamal if necessary (ticket #574)
- - Synchronize creation of new sessions to prevent dups
- - Don't remove an unacked session until it's really out of tags
- - Failsafe removal of old unacked tagsets
- - Cleanups, final, comments, log tweaks, debug.jsp tweaks, synchronization tweaks
-
- 2012-03-06 kytv
- * German and Spanish translation updates from Transifex
-
- 2012-03-06 zzz
- * i2psnark: Fix NPE on magnet link addition
- * Jetty logger: Fix stack trace logging
- * viewstat.jsp: Properly close the ImageOutputStream to fix
- NPEs in the finalizer, probably was the root cause of
- what we blamed on Jetty
- * Webapp class loader: Fix dup classes in classpath
- caused by last checkin (symptom: i2psnark in wrong directory)
-
- 2012-03-05 zzz
- * Build: Make windows and non-windows installers for release
- * configclients: Tweaks
- * Graphs: Add time interval to legend
- * NetDB: Increase min ff to 250
- * Plugins: Fix setting webapp classpath on Jetty 6
- * UDP: Log tweaks
- * viewstat.jsp: Set Connection: Close to work around Jetty bug
- http://jira.codehaus.org/browse/JETTY-1346
-
- 2012-03-04 zzz
- * Jetty: Upgrade to Jetty 6.1.26, Tomcat 6.0.35, and JSTL 1.2.
- - Supports Servlet 2.5 / JSP 2.1 standards
- - Jetty and Tomcat jars are checked in, no more need to
- download Jetty in the build process.
- - Bundle Jetty 6 rewrite handler and JMX
- - Bundle sample Jetty config files for rewrite, JMX, and SSL
- - Use ant's ant.jar instead of the one from Jetty
- - Port router console, i2psnark, and I2PRequestLog code to Jetty 6
- - Remove all old Jetty 5 patches and the custom Server() constructor,
- this will break Seedless use of the custom constructor
- - Fix up all .jsps to JSP 2.1 standards
- - Include automatic migration of clients.config,
- and of jetty.xml files for an eepsite at port 7658.
- New config includes files in eepsite/contexts and eepsite/etc
- Any other Jetty-hosted eepsites,
- or an eepsite not at port 7658 or with custom
- modifications of the jetty.xml file, will require
- manual editing of the new Jetty config files.
- This includes modifications for the seedless server in jetty.xml.
- - The following plugins are not compatible with Jetty 6
- and will be disabled until updates are available:
- i2pcontrol, pebble, and zzzot
- - Users updating must use the updaterWithJetty build target once,
- to get the new Jetty and Tomcat.
- - Put I2PRequestLog in its own jetty-i2p.jar
- - Jetty logging moved from wrapper to I2P log using the new I2PLogger class,
- also in jetty-i2p.jar
- * Console: Start all wars after the main console war,
- for faster startup and to prevent one failed war from preventing
- startup of the entire console
- * i2psnark: Disable i2psnark RunStandalone, unused and instantiated Jetty 5
- * i2ptunnel: Move i2ptunnel Bean classes from the jar to the war.
- These were deprecated for external use long ago.
- This will break very old seedless plugins; updates have
- been available for months.
- * susimail: Copy MultiPartRequest and other required classes from Jetty 5.1.15
- and add it to susimail, as the replacement MultiPartFilter in
- Jetty 6 is difficult to migrate to, and does not support content-type
-
- 2012-03-03 zzz
- * Console:
- - New simplified home page, refreshing with AJAX
- - New home configuration page
- * i2psnark:
- - CSS tweaks
- - Ajax and link fixes
- - Move js to console in prep for merging w/ homepage
- * NetDB: Remove bw stats (effective next release)
-
- 2012-03-02 zzz
- * BlockfileNamingService: Add negative cache
- * Build: Add built-by to jars; check for corrupt jars on debug page
- * configstats.jsp: Hide log settings unless already enabled
- * DataStructures:
- - Remove static logs
- - Sort addresses in RouterInfo at initialization only;
- change from Set to List to save space
- - Remove unused counters in Lease to save space
- - Increase max leases to 16
- * Graphs:
- - New single graph page with easy resizing
- - Support graphing of previous intervals
- * i2pinstall.exe: Add icon
- * i2psnark:
- - Add tracker configuration form
- - Remove custom tracker option from create form
- - Add private torrent option
- - More icons in buttons
- - Use js for refresh
- * I2PTunnelHTTPClient:
- - Refactoring to use Java URI parser to better handle
- escapes, IPv6 addresses, ports
- - Rewrite i2paddresshelper scanning/removal
- - Refactor out local server code
- - Nicer address helper error page
- * NetDB:
- - Reenable verify of RI stores, disabled in 0.7.9,
- checkin comments claim reenabled in 0.7.10 but didn't happen.
- - Synchronize StoreJob.sendNext() to avoid dups
- * netdb.jsp: Fix debug leaseset count again
- * susidns: Add b64 hash to details page
-
- * 2012-02-27 0.8.13 released
-
- 2012-02-22 kytv
- * Updated German, Italian, Spanish, Swedish, and Ukrainian translations
- from Transifex.
-
- 2012-02-22 zzz
- * ExploratoryPeerSelector: Use fast peers if hidden for
- inbound tunnels to improve success
- * NetDB:
- - Don't publish our RI if it has no addresses
- - Publish our RI sooner after startup
- to facilitate our IB tunnel builds
-
- 2012-02-20 zzz
- * i2ptunnel:
- - Fix streamr session registration
- - Don't delete privkey file for a non-persistent client tunnel
- (ticket #599)
- * Streaming: Fix race NPE (thx echelon)
-
- 2012-02-17 zzz
- * i2psnark: Escape fixes
- * netdb.jsp: Fix debug median calculation
-
- 20112-02-17 kytv
- * Add Czech language from Transifex (thanks Waseihou)
-
- 2012-02-12 str4d
- * i2ptunnel: Tunnel creation wizard
-
- 2012-02-10 zzz
- * WorkingDir: Fix detection of migrated directory
-
- 2012-02-09 zzz
- * i2psnark: Escape semicolons
-
- 2012-02-04 zzz
- * Deprecate util classes used only by installer
- * ProfileOrganizer: Add profileOrganizer.sameCountryBonus config
- * WorkingDir: Reset dates of eepsite files while migrating
- to avoid exposing install time (thx Z6)
- * Wrapper files:
- - Move PID and status files to config dir in i2prouter
- - Don't set PID files in wrapper.config as Windows doesn't need them
- and the wrapper won't start if the dir doesn't exist
- - Move wrapper.log to config dir using override in i2prouter,
- Windows stays in system temp dir
- - Move wrapper.log to config dir for no wrapper
- - Move wrapper.log setup for no wrapper from RouterLaunch
- to WorkingDir
- - Redirect stderr too when no wrapper
- - Create config dir in i2prouter for Linux/Mac
-
- 2012-02-02 kytv
- * Ukrainian and Polish translation updates from Transifex
-
- 2012-01-30 zzz
- * i2psnark: More illegal chars
- * LogWriter: Don't rotate and open file until first message
- * SusiDNS: Reduce listings to 50/page
-
- 2012-01-27 zzz
- * Build: Repack release jars with pack200 -r, saves about 1% and
- might save a little memory at runtime too
- * confignet: Add UDP disable option
- * SAM: Remove client demo classes from sam.jar
-
- 2012-01-26 zzz
- * configclients: Fix form action default
- * NetDB: Increase min ff to 200
- * Plugins: Fix updated count
- * SusiDNS: Make UI 1-based
-
- 2012-01-24 zzz
- * Addresses: Fix NPE if no interfaces found http://forum.i2p/viewtopic.php?t=6365
- * i2ptunnel: Fix white-on-white buttons on hover
- * Plugins: Add completion message after all-update check
- * susidns, susimail: Add icons to buttons
-
- 2012-01-22 zzz
- * Transports: Bind only to a single interface if specified
- as the host address and it's available (ticket #591)
- * VMCommSystem: Move to dummy directory
-
- 2012-01-21 zzz
- * Build: Fix Windows build, version checking for release
- * Console summary bar: Move some code around
-
- 2012-01-20 sponge
- * Fix too short of delay for http. It is up to the browser to time out
- in a shorter time, not the proxy. This is wreaking havoc on large
- downloads, similar to the issues that we had in the distant past with
- jetty's default timeout being too short.
-
- 2012-01-18 zzz
- * I2PTunnel: Register ports with the PortMapper
- * Router:
- - Use new synchronized change-and-save-config methods
- to eliminate races with ReadConfigJob
- * Tunnels:
- - When a peer is shitlisted, fail all our tunnels where
- that peer is the adjacent hop. In particular this
- will remove outbound tunnels when we can't contact
- the first hop, and enable quicker recovery.
- * Update: Find the proxy port in the PortMapper
-
- 2012-01-16 hottuna
- * Router:
- - Don't throttle tunnel creation if using a higher
- - than default router.maxParticipatingTunnels setting.
-
- 2012-01-16 zzz
- * Build: Put Implementation-Version in manifests
- * NetDB: Hopefully fix rare NPE (ticket #589)
- * Plugins:
- - Only stop a plugin before update if it was running
- - Only stop a plugin at shutdown if it was running
- - Don't start a plugin after update if it was disabled
- - Disable plugin if it fails version checks at startup
- - Auto-update plugins after a router update
- - Add update-all button and more cancel buttons
- * Router:
- - Add synchronized change-and-save-config methods to avoid races
- - Save previous version in config so we know when we updated
- * Transport: Revert change from -2, put addresses back in RouterInfo
- when hidden, broke inbound tunnel building
-
- 2012-01-14 zzz
- * i2ptunnel: Partial fix for dest formatting (ticket #581)
- * jars.jsp: New debug page
- * logs.jsp: Use wrapper method to find wrapper log if available
- * Stats:
- - Cleanups
- - Remove some locking
- - Change some longs to ints to save space
- - Remove static logs
-
- 2012-01-13 zzz
- * i2prouter: Add translation infrastructure
-
- 2012-01-10 zzz
- * Console:
- - Add info to error 500 page
- - Add indication on summary bar when in VM comm system
- - Make graceful the default for HUP (ticket #580)
- - Fix class error on wrapper 3.1.1
- * i2prouter: Don't attempt to translate strings from script
- * Router:
- - Auto-hidden mode for bad countries
- - Don't put addresses in our RouterInfo when hidden
-
- 2012-01-08 zzz
- * Plugins:
- - Enforce min and max Jetty versions at plugin installation
- - Enforce I2P, Java, and Jetty versions at plugin startup too
- * Router:
- - No longer check for updates or start any threads in the Router constructor,
- - for ease in building multiple routers in the JVM,
- - and also because starting threads in a constructor is bad practice.
- - All threads now start in runRouter().
- - Installation of updates now only happens via Router.main().
- * RouterInfo, RouterAddress: Optimizations and integrity checks
- - Remove synchronization
- - Do not allow contents to change after being set, throw IllegalStateException
- - Do not copy contents out in getters
- - Make options final
- - Add getOption() and getOptionsMap() methods
- * Router shutdown:
- - Fix failsafe shutdown hook broken in 0.8.8;
- HUP, INT, and TERM signals should now shut down cleanly.
- - Shutdown hook no longer prevents other hooks from running
- - Trap HUP, if router.gracefulHUP=true, and do graceful shutdown.
- Only under wrapper, non-Windows.
- - i2prouter stop now uses SIGTERM
- - Implement i2prouter graceful using SIGHUP (ticket #580)
- - Configure wrapper to ignore SIGUSR1 and SIGUSR2 as they will shut down
- or crash the JVM
-
- 2012-01-06 kytv
- * EepGet: If transfer fails, exit with status 1 (fixes #576)
-
- * 2012-01-06 0.8.12 released
-
- 2012-01-04 kytv
- * Update geoip.txt based on Maxmind GeoLite Country database from 2011-12-08
-
- 2012-01-02 kytv
- * Wrapper 3.5.13 for everything other than armv7.
-
- 2012-01-02 zzz
- * Fix webapp PortMapper lookup for SSL-only console
- * Wrapper 3.5.13 for arm v7
-
- 2011-12-31 zzz
- * Fix log NPE when saveConfig() fails at startup, thx kytv
- (backport from jetty6 branch)
-
- 2011-12-30 zzz
- * New Estonian translation thanks ajutine
-
- 2011-12-27 kytv
- * Spanish and Swedish translation updates from Transifex
-
- 2011-12-23 zzz
- * Logging: Eliminate LogWriter/LogManager deadlock
-
- 2011-12-18 zzz
- * Addresses: Add utility toString() methods
- * Blocklist: Buffer input to speed lookup
- * PersistentDataStore: Buffer file writes and reads
- * Router: Cleanup startup jobs and router.config reading; javadocs
- * Transport: Log tweaks
-
- 2011-12-17 kytv
- * Ukrainian translation updates from Transifex
- * Add my key to TrustedUpdate.java
-
- 2011-12-17 zzz
- * i2psnark:
- - Replace file name characters not supported in default charset
- - Add torrent file name to local details page
- * GeoIP: Reduce thread priority during lookup
- * ProfileManager: Make some methods non-blocking to reduce
- lock contention in transports
-
- 2011-12-15 kytv
- * Swedish translation updates from Transifex
-
- 2011-12-14 zzz
- * BuildHandler: Increase next hop timeout again
- * DataHelper:
- - Speed up heavily used long/byte[] converters
- - Add little endian versions of the converters
- - Cache common properties keys
- * GarlicMessageParser: Use cached cert
- * GeoIP: Buffer input to speed lookup by 10x
- * I2NP: Disable pass-through checksum debugging
- * MessageHistory:
- - Flush at shutdown
- - Fix file location, only delete if enabled
- - Cleanups, concurrent
- * ResettableGZIPInputStream: Better footer log errors
- * RouterAddress: Cache transport names
- * TransportBid: Remove unused stuff
-
- 2011-12-13 kytv
- * Don't require that full stats are enabled to be able to graph
- router.highCapacityPeers. (closes #450)
-
- 2011-12-12 kytv
- * German and Spanish translation updates from Transifex
-
- 2011-12-12 zzz
- * ExploreJob: Tweaks to handle DatabaseLookupMessage changes
- * I2NP:
- - Deprecate unused stream methods and I2NPMessageReader since
- all transports provide encapsulation.
- - Don't throw IOE from byte array methods
- - Use cached null cert in GarlicClove
- - Add method to limit size of buffer to read
- - Don't check checksum at input, in most cases
- - Reuse checksum at output, for unmodified pass-through messages
- (but recalculating it now and logging on a mismatch for testing)
- - Fix DatabaseLookupMessage to internally store the don't include peers as
- a List, not a Set, so it doesn't get reordered and break the checksum
- - Log cleanup
- * NTCP:
- - Zero-copy and limit size when handing buffer to I2NP
- - Log hex dump message on I2NPMessageException, like in SSU
- - Don't close connection on I2NPMessageException
- * PortMapper: New service for registering application ports in the context
- * ReusableGZIPInputStream: Fix 3 major bugs, all present since 2005:
- - Payloads an exact multiple of 512 bytes failed to decompress
- - Data at the end of the stream could be lost
- - read() returned -1 when the data was 0xff
- * SearchState: generics and cleanups
-
- 2011-12-11 sponge
- * HTTP server tunnel, use log.WARN for 3 first minutes. (closes #460)
-
- 2011-12-10 kytv
- * Replace eepget's whitelist of accepted characters with the
- blacklist from i2psnark. (closes #562)
-
- 2011-12-09 zzz
- * Base64: Add decodestring command in main()
- * Console, i2psnark: More button CSS tweaks
- * I2NP:
- - Earlier detection and better logging of
- truncated TunnelGatewayMessage and DatabaseStoreMessage
- - Fix and enhance UnknownI2NPMessage implementation
- - Don't deserialize or verify the checksum of the
- embeddedI2NP message in the TunnelGatewayMessage
- at the IBGW, just use UnknownI2NPMessage and pass it along,
- except if zero hop; Still to do: similar thing at OBEP
- - Cleanups and javadoc
- * LeaseSet: Fix size calculations
- * UDP:
- - Fix major bug from 2005 that corrupted outbound messages
- that were an exact multiple of the fragment size.
- - Round expiration times when converting to seconds
- - Zero-copy of single-fragment messages in MessageReceiver
- - Optimizations, log tweaks, comments
-
- 2011-12-06 zzz
- * Router:
- - More refactoring tasks to their own files
- - Adjust some thread priorities
- * Susimail: Adjust login form sizes
- * Tunnels: Increase next hop send timeout
- * UDP: Fix major MTU bug introduced in 0.8.9.
- - Change large MTU from 1492 to 1484 and small from 608 to 620
- for encryption padding efficiency
- - Enforce sent MTU limit
- - Increase receive buffer size from 1536 to 1572 so that excessive-sized
- packets sent by 0.8.9-0.8.11 routers aren't dropped
- - Limit the max acks in a data packet
- - Limit the duplicate acks in successive data packets
- - Only include acks that will fit in the mtu in a data packet
- - Correctly remove acks from the pending set after they are sent,
- so they aren't sent repeatedly
- - Don't pad data packets unless necessary
- - Debug logging and javadocs
-
- 2011-12-04 zzz
- * Console:
- - Less icons on configclients.jsp
- - Fix some browsers breaking line on negative numbers
- - Tab CSS tweaks
- * i2psnark: Fix directories not always deleted when torrent is deleted
- * IRC Client: Lower log level for connect error to warn (thx echelon/sponge)
- * Tunnel RED:
- - Complete rework of participating traffic RED.
- Implement an accurate bandwidth tracker in FIFOBandwidthRefiller.
- - Fix drop priority of VTBM at OBEP
- - Lower drop priority of VTBRM at IBGW
- - Raise threshold from 95% to 120%
- - Remove unused things in HopConfig
- * UDP: Fix i2np.udp.allowLocal operation (thx Quizzers)
-
- 2011-12-02 zzz
- * Console:
- - Summary bar tweaks
- - Config nav CSS tabs
- - CSS cleanups from last checkin
- * Susimail:
- - Login screen tweaks
- - Cleanups, generics, static
-
- 2011-12-01 zzz
- * Console:
- - Split up config network page
- - CSS tweaks in summary bar
- - Spiff up the buttons
- * i2psnark:
- - Retry link on torrent download fail
- - Clear URL after clicking 'add torrent'
- - Message tweaks
- - CSS tweaks
- * IRC Server: Fix IOOBE (ticket #559)
- * Throttle: Update throttle status immediately on shutdown request;
- clear starting-up message after 20 minutes
-
- 2011-11-29 zzz
- * Random: Use new nextBytes(buf, off, len) for efficiency
- * Router: Refactor periodic tasks to their own files
-
- 2011-11-28 zzz
- * Specify locale in all toLowerCase() and toUpperCase() calls to
- avoid the "Turkish four i problem";
- replace most equalsIgnoreCase() calls too.
- * Update: Files listed in deletelist.txt will be deleted
-
- 2011-11-28 kytv
- * IRCClient: Add IRCop commands (and other safe commands) to the whitelist
-
- 2011-11-27 zzz
- * IRCClient: Outbound whitelist optimization
- * Reseed:
- - Restore i2pbote (ticket #516)
- - Remove r31453 (cert expiring, host soon to be shut down permanently)
-
- 2011-11-26 zzz
- * DCCServer: Socket error log fix
- * NTCP: Fix pumper NPE (ticket #555)
-
- 2011-11-23 zzz
- * CryptixAESEngine: Fix bogus bounds checks
- * NTCP:
- - More optimizations in recvEncrypted()
- - More efficient XOR
- - Reduce bandwidth stat update frequency
- - Check for repeated zero-length reads
- * RandomSource: Add new method getBytes(buf, offset, length)
- * Tunnel encryption: More efficient XOR
-
- 2011-11-21 zzz
- * NTCP Pumper:
- - Ensure failsafe pumper code gets run on schedule
- - Don't copy the read buffers
- - Adjust minimum read buffers based on memory
- - New i2np.ntcp.useDirectBuffer option (default false)
- - Mark peer unreachable when read failure is during establishment
- - Change some Reader Lists to Sets to avoid linear search
- - Log tweaks, debugging, new loop stats
-
- 2011-11-18 zzz
- * NTCP:
- - First cut at improving EventPumper performance (ticket #551)
- - Establishment timeout cleanup/concurrent
- - Remove some logging and stats
- - Switch some Queues from LBQ to CLQ
- - Static ByteBuffer cache
-
- 2011-11-16 zzz
- * Console: Add Jetty version to logs page
- * NTCP: Reduce log level for race (ticket #392)
- * NTCPConnection: Concurrent PrepBufs
- * OutNetMessage: Remove some fields and methods used only in NTCP debugging
- * Router: Move router.ping file from temp directory to config directory
-
- 2011-11-14 zzz
- * Console: Remove % chart at bottom of tunnels.jsp
- * Profiles: Only use same-country metric for countries with
- lots of I2P users
- * SusiDNS: Remove .jsp suffixes
-
- 2011-11-12 zzz
- * Installer: Fix Ukrainian translation (ticket #550) thx rndnick
-
- 2011-11-11 zzz
- * Console:
- - Less magic and fix img sizes, for speed and less artifacts while rendering
- - CSS tweaks
-
- 2011-11-09 zzz
- * Console: Add ability to hide news
- * I2PTunnel IRC Client: Don't filter PASS (ticket #549)
- * Licenses: Update information
- * Router: Clean up config map methods and uses
- * wrapper.config: Increase shutdown timeout
-
- * 2011-11-08 0.8.11 released
-
- 2011-11-05 kytv
- * Update geoip.txt based on Maxmind GeoLite Country
- database from 2011-11-02
-
- 2011-11-02 zzz
- * HTTP Proxy: Error page tweak
- * Reseed:
- - Add new host
- - Handle % escaping in file URLs
- - Do basic validation of router hash
- - Add some more sanity checks
-
- 2011-11-01 kytv
- * Update Ukrainian translations from Transifex
- * Update i2prouter script for better compatibility with Gentoo
-
- 2011-10-31 zzz
- * NetDB: Reduce max RI publish interval
- * ProfileOrganizer:
- - Fix expiration of old profiles
- - Don't exceed high cap limit between reorgs
- - Reduce max reorg cycle time
- - Reduce new bonus values
- - Fix rare NSEE thx sponge
- * SSU: Increase threshold for incremented cost
- * Tunnels:
- - Restore and implement lengthOverride()
- - Adjust quantity override
-
- 2011-10-29 zzz
- * BuildHandler: Add router.buildHandlerThreads config setting
- * CapacityCalculator: Small adjustment for XOR distance to
- break ties and encourage closeness
- * ProfileOrganizer: Reduce min expire time
- * SSU: Limit max peers to use as introducers
-
- 2011-10-28 zzz
- * BuildHandler: Move inbound request handling to its own thread(s)
- (ticket #542, see also http://zzz.i2p/topics/996)
- * CapacityCalculator: Small boost for connected peers, new peers, and
- same-country peers; deduct for recently-unreachable peers
- * DecayingBloomFilter: Whups fix NPE from previous checkin if log=INFO
- * NTCP: Reduce min idle time
- * SSU:
- - Increase default max connections again
- - Reduce min idle time
- - Separate out introducer pinger from introducer selection
- so it can be run separately and more often
- - Only ping introducers if we need them
- * Tunnels:
- - Reduce exploratory tunnel quantity if build success rate
- is very low, but may disable this later
- - Try rebuilding same tunnel (some of the time)
-
- 2011-10-25 zzz
- * BloomSHA1, DecayingBloomFilter:
- - Refactor for concurrent, at some small risk of false negatives
- - Optimizations to cache objects and reuse offsets
- * Tunnels:
- - Make most classes package private
- - Final, static, logs, cleanups
- - Consolideate createRateStat calls
- - Add getTotalLength()
- - Remove unused lengthOverride()
- * UDP: Mark only first fragment as a duplicate
-
- * 2011-10-20 0.8.10 released
-
- 2011-10-19 kytv
- * Update Italian translation from Transifex (thanks danimoth)
-
- 2011-10-19 zzz
- * I2PTunnel: Fix timeout message on POST (ticket #531)
- * NetDB: Reduce RI max expiration again
-
- 2011-10-18 zzz
- * StoreJob: Ensure nonzero token
- * Tunnels: Connection limit mitigation:
- - Disable tunnel testing
- - Implement closest-to-the-key tunnel selection
- - Use closest-selection in NetDB lookups, stores, and verifies;
- OCMOSJ; and in BuildRequestor
-
- 2011-10-17 zzz
- * BuildExecutor: Efficiency tweak
- * Console: Hide tunnel lag if tunnel testing is disabled
- * NetDB: Fix rare NPE from netdb.jsp (ticket #539)
- * Router: Change all shutdown CRITs to ERRORs; shutdown
- the stat manager last to reduce chance of NPEs
- (similar to that in tickets #534,535)
- * SSU: Increase max concurrent outbound attempts;
- fix udp.establishRejected stat
-
- 2011-10-15 zzz
- * BuildExecutor: Add tunnel.buildConfigTime stat
- * configupdate.jsp:
- - Fix setting to 'never' (ticket #523)
- - Fix always saying trusted keys changed
- - Parameterize tags
- * EepGet:
- - Add gunzip support (nonproxied only)
- - Clean up progress formatting
- * FloodfillMonitorJob: Log tweak (ticket #533)
- * I2CP: Improve error message (ticket #533)
- * JobQueue:
- - Log error when queue is out of order
- - Log tweaks
- * FloodfillPeerSelector: Fix stat NPE (tickets #534,535)
- * RouterThrottle:
- - Fix stat NPE (tickets #534,535)
- - Increase max tunnels and max delay again
- * OutNetMessagePool: Log tweak (ticket #533)
- * Router:
- - Add OOM help (ticket #533)
- - Prevent parallel shutdowns after multiple OOMs (tickets #534,535)
- * Stats: Add API methods for zero duration
- * SSLEepGet:
- - Add gunzip support
- - Increase buffer size
- * SSU: Fix concurrency errors (ticket #536) \
-
- 2011-10-13 kytv
- * Updated translations from Transifex
- - Swedish: debconf and i2psnark
- - Finnish: router console
-
- * 2011-10-11 0.8.9 released
-
- 2011-10-10 zzz
- * Lower max netdb RI expiration again
- * Increase default max tunnels
- * Cleanups after review
- * Exorcism (ticket #476)
-
- 2011-10-07 kytv
- * GeoIP:
- - Switch to Maxmind's GeoIP service (it's better maintained
- than our old provider)
- - Update based on Maxmind GeoLite Country database from 2011-10-07
- * Translation updates from Transifex:
- - I2PSnark: de, es, and pt
- - I2PTunnel: de and es
- - RouterConsole: de and es
- - SusiDNS: de and es
- - SusiMail: de and es
-
- 2011-10-07 zzz
- * Reseed:
- - Add an https reseed, thx h2ik
- - Restore ovh reseeds, thx mathiasdm
- * Tunnels:
- - For expl. tunnels, fall back to high cap sooner
- - Tweak build rejections for class N
-
- 2011-10-06 kytv
- * Add diftracker.i2p to I2PSnark
-
- 2011-10-06 zzz
- * RepublishLeaseSetJob:
- - Out-of-order JobQueue 3nd try to fix
- - Lower timeouts
- * Reseed:
- - Update host lists
- - Switch back to https by default
- * Throttle: Increase max message delay
- * Transport:
- - Add per-style send processing time stat
- - Increase default SSU conn limit
-
- 2011-10-05 zzz
- * Streaming: Fix build
- * UDP: Catch address without key sooner
-
- 2011-09-30 zzz
- * logs.jsp: Add wrapper version
- * Shitlist: Shorten time
- * Wrapper: Update armv7 to 3.5.12
-
- 2011-09-30 kytv
- * fix umask bug by upgrading to wrapper v3.5.12. Binaries are from Tanuki's
- delta pack for the community edition, except:
- - Win64: not available from Tanuki--compiled with VS2010
- - FreeBSD: Tanuki's binaries are compiled in FBSD v6. I compiled the
- wrapper in FreeBSD 7.4 to eliminate the dependency on the compat6x port.
- - Linux ARM: not available from Tanuki
- - OSX: Tanuki offers separate binaries for 32bit VS 64bit. Our
- wrapper is quad-fat supporting PPC32/PPC64 and x86/x86_64.
-
- 2011-09-29 zzz
- * Bandwidth refiller: Reinitialize at restart, avoid
- issues from clock skews
-
- 2011-09-27 kytv
- * Remove exotrack.i2p from i2psnark
-
- 2011-09-24 zzz
- * HTTPClient: Fix error page not appearing, broken by
- StreamForwarder change
- * HTTPServer: More mime types not to compress
-
- 2011-09-23 kytv
- * Update Italian, Spanish, and Swedish translations
- from Transifex
-
- 2011-09-20 zzz
- * Crypto: Comment out some main()
- * ClientMessage: Remove unused MessageReceptionInfo
- * i2psnark: File allocation cleanup to use less heap
- * i2ptunnel HTTPResponseOutputStream:
- - Use reusable gunzipper and a larger pipe for efficiency
- - Close output stream in StreamForwarder to prevent lost data,
- existing bug but made worse by larger pipe
- * I2PTunnelHTTPServer: Don't compress small responses or images
- * I2PTunnel, NTCP: Catch unchecked exceptions from GNU NIO (ticket # 519)
- * JobQueue, RepublishLeaseSetJob, StartExplorerJob:
- Out-of-order JobQueue 2nd try to fix
- * NetDB: Limit max explore queue
- * RouterContext: Remove unused MessageStateMonitor
-
- 2011-09-18 kytv
- * Add OpenBSD & NetBSD to NBI and CPUID
-
- 2011-09-16 zzz
- * Console: Home page flag spacing
- * EepGet: Add some new command line options
- * JobQueue:
- - Add warning to setStartAfter() as queue is no longer
- continuously sorted
- - Fix StartExplorerJob not calling requeue()
- - More pumper cleanups
- * Reseed:
- - Add HTTP proxy authorization support
- - Stub out SSL proxy support
- - Disable i2pbote reseed
- * Router: Fix router changing client-side tunnel options,
- causing original tunnel quantity to not be restored
- (ticket #513)
-
- 2011-09-14 zzz
- * Console: Verify valid host/IP before saving on net config form
- * i2psnark:
- - Add refresh time option
- - Add public file permissions option (ticket #501)
- - Fix configuration of tunnel parameters (ticket #524)
- - Allow changing I2CP parameters while tunnel is open
- - Remove duplicated options in I2CP options string
- - Don't open tunnel when saving config
- * IRC DCC: Fix conn limit options
- * Router: Set permissions on router.ping file
-
- 2011-09-13 kytv
- * Update i2prouter script
-
- 2011-09-12 zzz
- * build.xml: Run test scripts at release time
- * Build Executor:
- - Limit max parallel builds on really slow machines (ticket #519)
- - Slow down build loop when network is apparently disconnected (ticket #519)
- * i2psnark: Fix inaccuracy in the completed bytes display
- * NetDB: Disable floodfill at shutdown time if enabled
-
- 2011-09-09 zzz
- * TunnelDispatcher: Fix bug in -13 preventing participating
- tunnels from being expired and causing high CPU usage
-
- 2011-09-08 zzz
- * Blocklist: Include IP in shitlist reason
- * Ministreaming: Drop old classes replaced by streaming
- years ago.
- * NTCP: Hopefully fix race NPE, thx devzero
- * Tunnels: Limit Bloom filter size based on max memory
-
- 2011-09-07 zzz
- * Console: Limit max displayed participating tunnels
- * JobQueue: Change queue from a Set to a TreeSet for more efficiency
- * TunnelDispatcher: Change participant expire List to a Queue for
- efficiency and to remove global lock. Also remove separate
- time List for space savings.
-
- 2011-09-06 zzz
- * Console: Move jobs.jsp rendering code from
- the router to the console
- * Crypto: Rework use of SHA256 for efficiency and
- to avoid clogging the Hash cache with one-time hashes,
- and avoiding the global cache lock.
- This also greatly increases Hash cache hit rates.
- Also use SimpleByteCache for temporary byte buffers.
- * I2PTunnel: Save keys to privkey file when enabling
- persistent key after tunnel creation (ticket #480)
- * JobQueue: Change queue from a List to a Set for efficiency
- * PrivateKeyFile: Add more constructors
- * SDSCache: Use weak refs; increase size for pub keys
-
- 2011-09-04 zzz
- * NetDB:
- - Try again to fix ISJ deadlock, thx devzero
- - Lower RI expiration again
- - Expire RIs with SSU only and no introducers sooner
- * Transport: Remove one global lock in OutboundMessageRegistry.
-
- 2011-09-03 zzz
- * i2psnark: Fix "eject" button in certain browsers (ticket #511)
- * UDP Inbound:
- - Hopefully fix race NPE, thx devzero
- - Catch some more fragment errors
- - Exception and log tweaks
- - Cleanups and javadocs
-
- 2011-09-02 zzz
- * Console: Cache user-agent processing
- * NetDB: Hopefully fix ISJ deadlock, thx devzero
-
- 2011-09-02 sponge
- * I2PSnark: Fix GUI html tag for adding a torrent, it was missing a space.
-
- 2011-09-01 zzz
- * Console: Enable color logs
- * GeoIP: Cache country codes
- * NetDB: Explore more aggressively if hidden or K
- * UDP: Cleanups and introduction fixes
-
- 2011-08-31 zzz
- * OCMOSJ: Remove some global cache locks, other cleanups
-
- 2011-08-30 zzz
- * I2CP: Cache b32 lookups client-side
- * I2PTunnelHTTPClient: Use existing session for b32 lookups
- rather than a new SimpleSession
- * Naming: Increase b32 lookup timeout to 15 sec.
-
- 2011-08-29 zzz
- * NetDB:
- - Replace the old parallel lookup method with a true
- Kademlia lookup that iteratively queries additional floodfill
- peers returned in DatabaseSearchReplyMessages. This is a more
- efficient and reliable lookup that will work much better
- when not all floodfill peers are known, and it removes a serious
- limitation to network growth.
- - Limit max number of DSRM entries to look up
- - Cleanups, javadocs, log tweaks
- * Tunnels:
- - Increase timeouts on all deferred netdb lookups to 15s; add lookup stats
- - Cleanups, javadocs, log tweaks
-
- 2011-08-28 zzz
- * checkcerts.sh: New test
- * Console: Remove 'firewalled and fast' message, just say 'firewalled'
- * I2PTunnelRunner: Fix logging
- * Log: Fix level stuck at DEBUG when using public constructor
- * OutboundMessageRegistry: Cleanups
- * Stats: Restore pre-0.8.8 API to not create a new Rate if it does not
- exist in RateStat.getRate()
- * UPnP: Lower some log levels
-
- 2011-08-26 kytv
- * Debian: Bugfix: Avoid overwriting preseeded debconf values
- upon package installation (ticket #514).
- * Windows: Fix bug in fixperms.bat that occurred when installing on
- non-English versions of Windows 7 and Vista.
-
- 2011-08-25 zzz
- * Blockfile:
- - Avoid NPE after corruption (ticket #515)
- - Add reverse lookup table; bump DB rev to 2
- * I2PTunnelIRCClient:
- - Big refactoring into multiple class files
- - Allow AWAY and CAP messages
- - First cut at DCC support - not for SOCKS (yet)
- * Streaming:
- - Hook I2CP ports through to I2PSocket
- - Javadocs, init cleanups, final
- * UDP:
- - Complete rewrite of OutboundMessageFragments for
- concurrent and for efficiency to avoid O(n**2) behavior
- - Don't delay in OutboundMessageFragments at the end
- of the loop if we have more to send now, this should
- speed things up
- - Queue a new send immediately after a packet is acked
- - Send session destroy message when dropping connection
- - Increase large MTU to 1492 (was 1350)
- - Cleanups, log tweaks, javadocs, final
-
- * 2011-08-23 0.8.8 released
-
- 2011-08-23 zzz
- * Tweaks after review
-
- 2011-08-21 zzz
- * RateStat: Cleanups and javadoc fixes
- * susimail: Fix page encoding
-
- 2011-08-20 zzz
- * Translations:
- - New Danish and Ukranian translations from transifex
- - Update Italian, Chinese, Spanish, Polish, Swedish,
- and Vietnamese translations from transifex
- - Update .tx/config
-
- 2011-08-19 zzz
- * Soft restart:
- - Allow NTP to reinitialize clock after the comm system
- in the first minute of uptime
- - Fix i2ptunnels not restarting
- - Increase minimum forward clock shift for soft restart
- - Reduce minimum backward clock shift for soft restart
- - Signal the I2CP client with a different message when restarting
- - I2CP client reconnects when receiving restart message
-
- 2011-08-17 kytv
- * Fix #506: Don't attempt to load systray4j when using a 64bit JVM
- in Windows.
-
- 2011-08-16 zzz
- * Console: Tweak logs page CSS
- * Graphs: Delete corrupt rrd file (ticket #483)
- * UPnP: Fix bug causing failure when the PC has multiple interfaces
-
- 2011-08-06 kytv
- * Fix #473 (wrapper.logfile set to the wrong path in Windows).
-
- 2011-07-31 zzz
- * Crypto: Implement and then comment out an alternate
- AES-256/CBC implementation using the JVM crypto libs,
- and tests, it isn't faster
- * Netdb: Add a job to refresh all the old router infos at startup,
- to speed integration
-
- 2011-07-30 kytv
- * Installer:
- - add libjbigi*core*jnilib, libjbigi-osx-none_64.jnilib, and
- libjbigi-linux-ppc.so
- - Add Linux PPC wrapper
- * Add linux-ppc to NBI.
- * Remove unused lock
-
- 2011-07-29 zzz
- * Netdb Search:
- - Follow all DSRM's, not just the last one, by moving the code
- from the match job to the selector
- - Update peer profile after SingleSearchJob
- - Cleanups, javadocs, log tweaks, final
- * ProfileOrganizer: Tweak fast tier size
-
- 2011-07-28 zzz
- * Context: Split up big lock to avoid deadlocks
- * Streaming: Avoid a rare exception on race
- * TunnelPoolManager: Reduce race window for restarting a tunnel pool
-
- 2011-07-27 kytv
- * Add armel (armv5tejl) wrapper. Compiled and tested in Debian Squeeze.
-
- 2011-07-26 zzz
- * Installer: The previous wrapper files only work on armv7
- * NativeBigInteger: Move libjbigi-linux-arm.so to libjbigi-linux-armv7.so,
- do ARM version detection in NBI.
- * NetDB:
- - Explore even more aggressively at startup
- - Increase SingleSearchJob timeout
- - Increase time at startup for processing DSRM
- - Cleanups, final, javadoc, concurrent
- * OutNetMessage: Cleanups
- * Tunnels: Change another log error to a warn
- * Watchdog: Improve the way it calls for a thread dump
-
- 2011-07-22 kytv
- * Add a 64bit wrapper to OSX. With 0.8.7 came a fat Mac wrapper with i386 and PPC.
- The included wrapper is now quad-fat (i386, ppc, x86_64, and ppc64).
-
- 2011-07-21 zzz
- * Atalk: Remove this terrible example
- * Console: Use capability method for counting integrated peers
- * i2psnark: Don't let connection problem crash the DirMonitor (ticket #495)
- * Netdb: Speed up collection of all the floodfill peers by using
- PeerManager.getPeersByCapability()
- * PeerManager: Capability cleanups
- * Tunnel TestJob:
- - Don't continue testing after the pool is dead
- - Tweak test intervals
- * TunnelPool: Make more methods package private
-
- 2011-07-18 zzz
- * FileUtil: Add a rename method and a new copy method
- * I2PTunnel: Rename privkey file when deleting tunnel to prevent inadvertent reuse
- * Netdb: Update reseed lists
- * Streaming: Improve conn limit log message
- * UDP: Lower max port below 31000 since wrapper uses that
-
- 2011-07-15 zzz
- * Shutdown:
- - Cancel our JVM shutdown hook when shutting down
- - Run a spinner task so shutdown always completes
- - exit() instead of halt() so other JVM shutdown hooks run
- - Prevent duplicate wrapper notifier hooks
- - Notify the wrapper twice, once for stopping and once for stopped
-
- 2011-07-13 zzz
- * Blocklist:
- - Fix delayed lookup of reason from file
- - Tag strings for translation
- - Sort IPs on configpeer.jsp correctly
- * SummaryHelper: Fix NPE at startup (ticket #493)
-
- 2011-07-10 zzz
- * DH, YK:
- - Improve YK speed test
- - Shut down thread faster
- - Refiller keeps going until full
- - Cleanups
- * I2PTunnel: Fix a shutdown hang
- * Message Registry: Clear pending messages at restart / shutdown
- * OCMOSJ: Clear caches at restart
- * Router Clock: First cut at recognizing and reacting to large system
- clock shifts by partially restarting the router. Also improve
- restarts initiated from config.jsp
- Tickets #465, #468, #494
- * UPnP:
- - Wait for a while to ensure port removal at shutdown or restart
- - Fix device rediscovery and port opening after restart
-
- 2011-07-08 zzz
- * Findbugs: Several fixes and cleanups
- * I2NP: Consolidate common code from TunnelBuildMessage and
- TunnelBuildReplyMessage into a common base class
- * NetDB, TestJob: Fix NPEs at startup (ticket #493)
- * Sha256Standalone:
- - Use system SHA-256 MessageDigest instead of Sha256Standalone in PRNG
- - Deprecate DataHelper functions using Sha256Standalone arguments;
- used only by Syndie
- - Note deprecation in javadocs
-
- 2011-07-07 zzz
- * Blockfile:
- - Log error on out-of-order spans
- - Log error on corrupt level and discard
- - Fix SkipSpan non-flush bug causing null levels
- - Add level fixer that repairs nulls and out-of-order levels
- - Fix bug on backwards span construction, not hit in practice
- - Lots of log level changes
-
- 2011-07-06 zzz
- * EepGet: Add method to add extra headers to request
- * Floodfills: Increase again
- * HTTP Proxy: Fix error on shutdown
- * NamingService: Use HostsTxtNamingService if default fails to initialize
- * Netdb: Catch exception on dup netdb entries
- * Netdb exploration:
- - Remove floodfills from dont-include list in exploration
- DatabaseLookupMessage, as the dont-include-floodfills flag
- has been supported since release 0.7.9.
- This will make exploration work better, as there is room for
- non-floodfills in the don't-include list now.
- - Reduce min and max exploration intervals
- - Explore aggressively at startup and if known routers is low
- - Explore slowly if known routers is high
- * PeerManager: Load profiles in separate thread to avoid slowing
- down the context initAll()
- * Tunnels: Use exploratory tunnels to help maintain a minimum number
- of connected peers
-
- 2011-07-03 zzz
- * AppContext: Add hasWrapper() method
- * Shutdown:
- - Clear more resources in peer manager, netdb, stat manager,
- session key manager, naming service, tunnel dispatcher,
- OCMOSJ (result of testing with jvisualvm)
- - Don't call wrapper on shutdown (starting two threads) if we
- were started with runplain
-
- 2011-07-01 zzz
- * EepGet:
- - Fix error output bug
- - Output error data for 504 too
- * I2PThread: Remove logging, too many issues with extra contexts
- * Router, console, i2psnark: Change three errors to warns (tickets #479, #482, #487)
-
- 2011-06-30 zzz
- * BlockfileNamingService:
- - Support readonly blockfiles
- - Open blockfile readonly if not in router context
- - Log warning if blockfile is locked
- - Set as default
- * DataHelper: Throw IOE if uncompressed data too big,
- instead of silently truncating
- * EepGet:
- - Add method to get response code
- - Add method to write error data to the output
- - Increase buffer size to 8 KB
- - Trim content type
- * IRC Server: Send a message back if the tunnel is up but the server is down
- * NewsFetcher: Change default interval to 36 hours
- * Random: Refactor refiller for concurrent
- * Shutdown:
- - Register shutdown hooks for caches, in the first step of cleaning up
- resources on shutdown, which is important in Android as the JVM
- isn't going away.
- - Clear profiles from memory on shutdown
- - Add shutdown hook for AsyncFortunaRandomSource
- - Implement and call shutdown for BandwidthRefiller
- - Implement and register shutdown hook for i2ptunnel
- - Implement and register shutdown hook for Jetty console server
- - Implement and register shutdown hook for Timestamper
- - Fix UPnP-SSDPNotifySocket thread not stopping
- - Fix all but one UDP PacketHandler threads not stopping
- - Fix i2psnark DirMonitor not stopping
- - Fix UPnP-Disposer not stopping quickly
- - Implement and call YKGenerator and DHSessionKeyBuilder shutdown
- - Implement and call shutdown for RouterWatchdog
- - Kill the global app context
- - Recognize multi-router case
- - Fix RandomIterator, YKGenerator, DHBuilder, NTCPConnection
- hanging on to old context
- - Fix DHBuilder thread not stopping
- - Stop I2PThread from starting a new App context at shutdown
- - Stop LogWriter from starting a new App context at shutdown
- - Have router kill any leftover App context at startup
- - Fix I2PThread hanging on to old context
- * Updates:
- - Add the router version to the zip file comment in the updater
- - Add a class to extract the zip file comment
- - Require the sud version header to match the zip file comment
- to prevent spoofing of the version number, since the version
- number in the header is not covered by the sud signature.
-
- * 2011-06-27 0.8.7 released
-
- 2011-06-26 zzz
- * Fixes after review:
- - Fix Polish po file
- - Install as a service by default on Windows again
- - Change CPUID getters to package private
- - Split new jbigi install messages into two lines
- - Test script updates
- - Javadocs
-
- 2011-06-23 zzz
- * IRC: Allow outbound INVITE
-
- 2011-06-21 kytv
- * Make the i2prouter script fail more gracefully if there's
- a problem loading the wrapper.
-
- 2011-06-14 zzz
- * Build: New targets for including jbigi in the updater
- * Console: CSS tweak for flag box
- * i2psnark: Recognize ktorrent
- * Jbigi / NBI / wrapper / installer:
- jbigi and wrapper files for arm.
- Compiled on trimslice with gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
- Log postinstall errors to postinstall.log.
- * NetDB: Increase floodfills and better adjustment based on available memory
- * RateStat: final
- * Router: Delete old libjbigi.so and libjcpuid.so at startup if jbigi.jar is newer.
- This will force a reextraction by CPUID and NBI.
-
- 2011-06-13 duck
- * Finnish, Italian, Polish and Vietnamese translations, thanks Transifex teams.
-
- 2011-06-13 zzz
- * To ensure we don't release bad packages, fail the build
- if gettext fails. Change property at top of build.xml if
- you don't have gettext and want the build to continue.
-
- 2011-06-12 kytv
- * Add jcpuid files (32 & 64bit) for Intel Macs
- * Compile jbigi-osx-none for Intel Macs. libjbigi-osx-none.jnilib
- is now a fat binary combining the already existing PPC
- compile and my new x86 build.
-
- 2011-06-11 zzz
- * i2psnark Polish translation, thanks polacco
-
- 2011-06-10 zzz
- * CPUID, NativeBigI: Add support for atom, core2, corei, nano, pentiumm, geode
- * Random: Add config setting prng.bufferSize to override the default 256 KB
- * JBigI:
- - Add new libjbigi-linux-xxx.so files built by sponge, now that we have
- CPUID.java support for them (thanks hottuna).
- See http://zzz.i2p/topics/306 for discussion and test results.
-
- 64-bit processors (atom, core2, corei, nano):
- Built with GMP 5.0.2. License is LGPLv3.
- Built by sponge with GCC 4.4.4, downloaded from
- http://sponge.i2p/files/jbigi/gmp-5.0.2/
- For 64-bit processors, both performance testing and
- the GMP changelog http://gmplib.org/gmp5.0.html led us to use 5.0.2
- for both the 32- and 64-bit versions, even though the files are twice as big.
- 5.0.x contains specific optimizations for atom and nano.
- All 64-bit libs have _64 appended.
-
- 32-bit processors (pentiumm, geode):
- Built with GMP 4.3.2. License is LGPLv3.
- Built by sponge with GCC 4.4.4, downloaded from
- http://sponge.i2p/files/jbigi/gmp-4.3.2/
- The 4.3.2 files are half the size of those built with GMP 5.0.2, and there was
- little or no performance difference between the two versions for 32 bit processors.
- * NBI: Enable 64-bit processor detection
- * Profiles: Skip and delete a corrupt profile read from disk
-
- 2011-06-10 kytv
- * jcpuid & jbigi added for 64bit Windows (only used with a 64bit jvm).
-
- 2011-06-09 kytv
- * Added an x64 wrapper for Windows. This is needed because a 32bit wrapper
- cannot start a 64bit JVM.
-
- 2011-06-08 zzz
- * Build:
- - Add standard manifest to jbigi.jar
- - Don't do 'mtn list changed' if not in a workspace or not needed
- * LogManager: Use DataHelper methods for loading and storing config
-
- 2011-06-08 kytv
- * Update jbigi/jcpuid Windows dlls. As was done for FreeBSD and Linux, the
- libraries for 32bit CPUs were linked against gmp-4.3.2 and those for the
- 64bit CPUs were linked against gmp-5.0.2.
-
- 2011-06-07 kytv
- * Upgrade the wrapper to 3.5.9. Noticable changes include:
- - FreeBSD amd64 is now a supported arch along with i386. To use the wrapper
- with the most recent version of FreeBSD the port 'misc/compat6x' will need
- to be installed.
- - OSX: Both Intel and PPC Macs are supported. 32-bit support. If you'd like 64-bit
- support, please file a bug in trac with the output of "uname -m".
- * Upgrade jbigi/jcpuid for FreeBSD i386 and add support for amd64. As was done with
- the Linux compiles, 32bit compiles were linked with gmp 4.3.2 and 64 bit builds
- (as well as 32bit builds for 64bit cpus) were linked against gmp 5.0.2.
-
- 2011-06-06 zzz
- * Drop andorid/ directory; further development will happen in
- an android-only branch.
-
- 2011-06-05 zzz
- * Console: Tag stat descriptions at declaration rather than in Strings.java
- * Data: Remove duplicate signature verification code
- in RouterInfo and LeaseSet
- * DSAEngine: Add code for alternate implementation using Java libs;
- disabled by default. Add test code to verify identical results
- and compare speed.
- * JBigI:
- - Replace old non-PIC 32-bit linux libs (GMP 4.1.3 built in 2004)
- with PIC libs built with GMP 4.3.2. License is LGPLv3.
- Built by sponge with GCC 4.4.4, downloaded from
- http://sponge.i2p/files/jbigi/gmp-4.3.2/
- The 4.3.2 files are half the size of those built with GMP 5.0.2, and there was
- little or no performance difference between the two versions for 32 bit processors.
- See http://zzz.i2p/topics/306 for discussion and test results.
- - Replace old non-PIC 64-bit linux libs (GMP 4.1.4 built in 2005)
- with PIC libs built with GMP 5.0.2. License is LGPLv3.
- Built by sponge with GCC 4.4.4, downloaded from
- http://sponge.i2p/files/jbigi/gmp-5.0.2/
- For 64-bit processors, both performance testing and
- the GMP changelog led us to use 5.0.2 for both the 32- and 64-bit versions,
- even though the files are twice as big.
- See http://zzz.i2p/topics/306 for discussion and test results.
- libjbigi-linux-athlon64.so was a 64 bit file; by the new naming standard
- supported by NativeBigInteger, it is now a 32-bit file and the
- 64-bit one is libjbigi-linux-athlon64_64.so.
- All new 64-bit libs will have _64 appended.
- - Remove libjbigi-windows-athlon64.dll which was a duplicate of libjbigi-windows-athlon.dll;
- NBI now tries athlon as a fallback for all 64-bit processors.
- - Update build docs
-
- 2011-06-04 zzz
- * NBigI: Recognize Android
- * KeyGenerator: Restore old return type to not break ABI (thx kytv)
- * Router:
- - Add a lock for reading/writing the router.info file
- - Check our RouterInfo validity after reading and before saving,
- to catch fatal errors sooner
-
- 2011-06-03 zzz
- * Android: More build updates, start working on JNI for GMP
- * Build: Fix dependency issue cause by misspelled file name
-
- 2011-06-02 zzz
- * Android: Build fixes
- * Crypto:
- - HMAC Javadocs and cleanups
- - HMAC Use SimpleByteCache
- * ElGamalAESEngine: Fixups required after SessionKey enforcement
- * Reseed: Give up on a seed after 90% of fetches fail
- * SessionKey: Enforce data size and prevent reuse
-
- 2011-06-02 sponge
- * Remove txt file in BOB.jar as per zzz's request.
-
- 2011-06-01 zzz
- * Crypto:
- - Use java.security.MessageDigest instead of bundled GNU SHA-256 code
- if available, which it should always be.
- 5 to 20% faster on Oracle JVM; 40 to 60% on Harmony;
- 5 to 15% on JamVM; 20x (!) on GIJ.
- - Use java.security.MessageDigest instead of bundled Bitzi SHA-1 code
- if available on non-Oracle JVMs, which it should always be.
- Not faster on Oracle JVM; 30 to 60% faster on Harmony;
- 15 to 20% on JamVM; 10-15x (!) on GIJ.
-
- 2011-06-01 sponge
- * ConfigClients stopClient stubbed out.
-
- 2011-06-01 sponge
- * Re the below, using better way that kytv suggested.
- There is more than one way to peel a pineapple...
-
- 2011-06-01 sponge
- * Remove the one little html file that ends up in BOB.jar.
- The file is NOT a javadoc file, it is a package file.
- Still, it is zapped.
-
- 2011-05-31 zzz
- * HTTP Proxy: Don't send redirect for POST (thx kytv)
- * jbigi: Add support for solaris
-
- 2011-05-30 zzz
- * I2CP:
- - Append I2CP Version information to the Get/Set Date Messages,
- so that both the router and client are aware of the other side's version,
- and future protocol changes will be easier to implement.
- Previously, router version information was not available to the client,
- so when router and client were in different JVMs,
- old clients would work with new routers
- but new clients would not work with old routers.
- After this change, we can design future changes so that new clients
- will work with old routers.
- This is an enhancement to the old protocol version byte sent by the client,
- which we have never changed and probably never will.
- - Prevent a client from setting the router's clock
- - Javadocs
- * i2psnark: Restrict swarm size for small torrents
- * netDb: Don't refetch expiring router infos if we have enough
-
- 2011-05-28 zzz
- * i2psnark: Fix bug preventing Robert from connecting to snark (thx sponge)
-
- 2011-05-27 zzz
- * Console: Fix router.updateThroughProxy being set to false after saving
- change on /configupdate when install dir is read-only.
- (ticket #466)
- * EepGet:
- - Fix redirect loop (thx kytv)
- - Reset redirect counter when retrying
- * JBigI:
- - Refactor to handle 64 bit libs and a list of fallback libs
- - Logging tweaks
- - Only check for one file name in library path
- * CPUID:
- - Recognize amd64 as x86
- - Only check for one file name in library path
-
- 2011-05-25 zzz
- * CPUID: Load 64-bit libcpuid if available
- * HTTP Proxy: Address helper refactoring, address book add form
- * JBigI:
- - Start updating NativeBigInteger
- - Remove k63 libs that are dup of k62; handle in NBI
- * Naming: B32 fixes
- * NetDB: Increase floodfills again
-
- 2011-05-23 zzz
- * Console:
- - Disable zh translation in graphs on windows due to font issues
- - Force news refetch after URL change
- - Fix NPE at startup
- - Graph tweaks
-
- 2011-05-23 sponge
- * mbuild.sh fixups
- * add new jcpuid/mbuild.sh -- pedantic naming
- * jbigi/mbuild-all.sh -- pedantic naming
- * see also http://zzz.i2p/topics/306?page=1#p3341
-
- 2011-05-22 zzz
- * GeoIP: Read countries.txt in UTF-8
- * Jetty: Fix build error that omitted local jetty patches from org.mortbay.jetty.jar;
- affected 0.8.4 and 0.8.6 installers. Include jar in the updater for the next release.
-
- 2011-05-21 sponge
- * mbuild.sh document and fixes
- * mbuild-all.sh add cpu types
-
- 2011-05-20 zzz
- * Certificate: Fix creation bug; improve router cert generation
- * DataHelper:
- - Undeprecate fromProperties() and toProperties()
- - Undeprecate BOOLEAN_FALSE and BOOLEAN_TRUE
- - Fix fromProperties() and toProperties() to correctly throw DataFormatExceptions
- - Add sort option
- - Efficiency improvements in writeProperties(), toProperties(), storeProps(), and toString()
- - Fix encoding issues (ticket #436)
- * i2ptunnel: Fix server-side stripping of X-Accept-encoding
- * Jbigi / JCPUID:
- - Remove nativeDoubleValue(), update jbigi README
- - Unbundle jbigi.jar, create at build time
- - Add support for new Intel family/model names.
- - Add proper support for using Core2 machines as P4.
- - Add support for identifying SSE 3/4.1/4.2/4A support on CPU.
- - Rewrite cpuid.c so it builds with PIC (source only, binary not updated yet)
- * LogManager: Try to prevent out-of-order logging at shutdown
- * Naming Services, Addressbook, and SusiDNS:
- - Add new API for Naming Services to support modifications
- - Redesign HostsTxt NS as an interface to three
- SingleFile NSs, one for each text file
- - Add locking to SingleFile NS
- - Redesign SusiDNS and addressbook to interface to the API
- instead of accessing files directly
- - SusiDNS requests addressbook update via the NS API
- - Redesign addressbook to reduce memory usage when processing subscriptions
- - Redesign SusiDNS to use much less memory by not loading in the whole
- addressbook where possible
- - Add new Blockfile NS for an on-disk database of hosts
- Based on the BlockFile database:
- http://www.metanotion.net/software/sandbox/block.html
- with substantial enhancements to lower memory usage
- and improve exception handling
- - Remove old unused AddressDB NS, FilesystemAddress NS, and PetName NS.
- - Restructure Dummy NS and Meta NS
- - Redesign NS caching to use an LRU map
- - SusiDNS checks for invalid host names
- - SusiDNS IDN conversion and better support for non-ASCII host names
- - Add b32 links in SusiDNS
- - HTML fixes and cleanups in SusiDNS
- - SusiDNS message and tagging cleanups
- - SusiDNS new details page
- * Stats and Graphs:
- - Update to JRobin 1.5.9.1
- - Major rework required for 1.5.9 API
- - Disable graphs in JVMs that crash with 1.5.9 (gij, JamVM, Harmony)
- - Make graph data persistent (3 month RRD on disk),
- with option to disable
- - Improve error handling
- - Disable graph page refresh when appropriate
- - Fix HTML errors
- - Add restart marker on graphs
- - Restore zh text on graphs
- - Improve form save messages
- - Add expires directive to graphs
- - Refactor handling of required stats
- - Clean up / shorten description for required stats
- - Change bw.sendBps and bw.receiveBps from KBps to Bps
-
- * 2011-05-16 0.8.6 released
-
- 2011-05-13 zzz
- * Increase min floodfills; decrease min routerinfo expiration
-
- 2011-05-11 zzz
- * Use partitions of fast tier for various hops of client tunnels
-
- 2011-05-06 zzz
- * Tunnels and profiles:
- - Increase max fast and high-cap tier sizes
- - Slow profile eval cycle after sufficient uptime
- - Fix bug which started a new build after a successful build
- - Misc. cleanups
-
- 2011-04-28 zzz
- * Console: Try to prevent cascaded IllegalStateExceptions in .jsp code;
- add logging for original error
- * peers.jsp: Tag UPnP strings
- * UPnP: Strip trailing nulls from incoming XML to prevent
- "content not allowed in trailing section" exceptions
-
- * 2011-04-18 0.8.5 released
-
- 2011-04-11 zzz
- * Console: Hide iframe on mobile browsers
- * DataHelper: Speed up eq() (Ticket #437)
- * HTTPServer: Strip inbound X-Accept-Encoding header
- * netdb.jsp: HTML fixes
- * Plugins: Log error when console server not found
- * Reseed: Log tweak
-
- 2011-04-02 m1xxy
- * routerconsole, i2psnark, ... I2P ahora también en español: ¡Bienvenidos los hispanohablantes!
- - routerconsole, i2ptunnel, i2psnark, SusiDNS, Susimail fully translated into Spanish
- (thx to PunkiBastardo and user)
- * routerconsole, i2psnark, ...
- - French translations completed by magma
-
- 2011-03-22 zzz
- * Handle GNU JRE returning Long.MAX_VALUE for max memory
- * i2ptunnel: HTML fixes
-
- 2011-03-20 zzz
- * Console: Remove cache directives
- * i2psnark: Fix peers stuck at uninteresting after metainfo fetch
- * i2ptunnel: Change all clients to 3 hops by default (new installs only)
- * Profiles:
- - Nicer profile dump
- - More efficient profile lookup for display
- - Fix dumpprofile NPE
- - Change file suffix from .dat to .txt.gz
- - Set firstHeardAbout on creation
- * Rate: Fix equals()
- * Recognize links and links2 as text browsers
-
- 2011-03-12 zzz
- * Blocklist: Add bogons since they won't change any more
- * BuildHandler: Loop double-check
- * Console:
- - Fix HTML errors in form message box,
- logs.jsp, netdb.jsp, profiles.jsp, stats.jsp,
- configpeer.jsp, configtunnels.jsp, configupdate.jsp
- - ngettext cleanups
- * LogWriter: Prevent NPE after permissions fail
-
- 2011-03-11 duck
- * Susimail: translation support, including dutch translation.
-
- 2011-03-10 zzz
- * configclients.jsp: Split form up, fix HTML warnings
- * configui.jsp: Fix lang setting broken by previous nonce change
- * Console: Consolidate nonce handling
- * eepget: Don't send X-Accept-Encoding header to proxy (ticket #422)
- * logs.jsp: Fix NPE (ticket #430)
- * netdb.jsp: Fix table alignment
- * Tunnel Preprocessor: Use entropy for padding more efficiently
-
- 2011-03-08 zzz
- * Clock: Cleanups and javadocs
- * Console:
- - Parameterize download button tags (ticket #425)
- - Clean up summary bar HTML warnings
- - Just display a summary bar link for text browsers
- - Move welcome div from the readme files to index.jsp
- - Require a nonce to change language
- * EepGet: Cleanups and javadocs
- * i2psnark:
- - More efficient metainfo handling, reduce instantiations
- - Improved handling of storage errors
- - Improved handling of duplicate file names
- - More metainfo sanity checks
- - Metadata transfer error handling improvements
- - Code cleanup, remove dead and duplicated code
- * Reseed: Use the reseeder as a clock source
-
- 2011-03-02 zzz
- * BuildHandler:
- - Limit request queue size
- - Concurrent request queue
- - Remove dead code for queued reply handling
- * OutNetMessage: Remove dead code
- * Tunnel cleanups, final, javadoc
-
- * 2011-03-02 0.8.4 released
-
- 2011-02-27 zzz
- * Console:
- - Fix numerous readme HTML errors
- - Fix flag locations in readmes
- - desktopgui.enable now defaults to false; run systray if false
- - Start icon app before console
- - Restore systray form in configservice.jsp
- - Only save lang when clicking on flags if desktopgui is running
- - Only allow two-letter lang code from cgi parameter
- * Reseed: Disable HTTPS until we have enough working hosts again
-
- 2011-02-24 zzz
- * i2psnark:
- - Fix delete and remove buttons for Opera and w3m
- - Stop torrent if no valid trackers
- - Fix war build dependencies
-
- 2011-02-23 zzz
- * BuildHandler:
- - Lower participating throttler max limit
- - Cleanups and loop checks
- * Console: Fix summary bar HTML error
-
- 2011-02-22 zzz
- * BuildHandler: Prelmiinary participating tunnel throttler
- * I2PTunnel:
- - Add spellcheck=false to textareas
- - Fix HTML error in 503 error page
-
- 2011-02-19 zzz
- * I2PTunnel: Fix standalone server tunnels
- http://forum.i2p/viewtopic.php?t=5376
- * Plugins: Fix signature verification if router.config specifies
- trustedUpdateKeys (ticket #416)
-
- 2011-02-18 Mathiasdm
- * Desktopgui now has an option to be disabled (desktopgui.enabled)
-
- 2011-02-17 zzz
- * Build:
- - Add includeAntRuntime=false to all javac targets
- - Add build date, mtn rev, and changed file list to all manifests
- - Add unless=uptodate to all jar and war targets
- (bob and dtg still todo)
- * Console: Add Arabic
- * i2ptunnel: outproxy2 -> outproxyng (Ticket #394 take 2)
-
- 2011-02-15 zzz
- * i2psnark: Details link shuffle, mostly restore 0.8.3 behavior
- * Profiles: Punish rejections more, in an attempt to spread the
- load more through the network
- * Timers: Log cleanup
-
- 2011-02-14 Mathiasdm
- * Fix headless issue without reboot
-
- 2011-02-13 zzz
- * Connect Client: Minor NPE fix cleanup
- * JobQueue: Prevent NPE at shutdown (thanks liberty)
- * GeoIP: Prevent startup NPE (ticket #413, thanks RN)
- * NetDB: Prevent ExpireLeaseJob NPE (thanks sponge)
-
- 2011-02-11 Mathiasdm
- * routerconsole: fixed graphs using jrobin; and headless issue
- in general: no more switches between headless and non-headless.
-
- 2011-02-11 sponge
- * I2PTunnel: fix NPE in I2PTunnelConnectClient
-
- 2011-02-10 sponge
- * I2CP: fix NPE in QueuedClientConnectionRunner
-
- 2011-02-10 zzz
- * I2CP: Correctly close internal connections on the router side
- when closed by the client, was causing massive memory leak
- for internal clients using lots of sessions (thanks sponge)
- (ticket #397)
- * i2psnark:
- - Improved magnet link parsing, use tr parameter if present
- * i2ptunnel: Change shared clients default for new clients to false
- * Streaming: Don't use iter.remove() on a COWAS
-
- 2011-02-09 sponge
- * BOB: fixup delivery in config, adds config file versioning.
- * I2CP: Fix most of the I2CP leaks. Two leaks remain, but they are small.
- net.i2p.internal.QueuedI2CPMessageReader and
- net.i2p.router.client.I2CPMessageQueueImpl
- are the two remaining leaks.
-
- 2011-02-07 zzz
- * i2psnark:
- - Check for dup magnet torrent when adding torrent file
- - Add exotrack.i2p (ticket #403)
- - Disable spellcheck in textarea
- * i2ptunnel: Generate error message when i2ptunnel.config save fails
- (ticket #404)
-
- 2011-02-06 zzz
- * i2psnark: Fix maggot links, and magnet links with trailing parameters (thx user)
-
- 2011-02-05 zzz
- * .mtn-ignore: New, to make it harder to check in stuff you shouldn't
- * BOB: Drop checked-in build dir
- * i2psnark:
- - Big refactor to support torrents where only the infohash is known
- (i.e., added by magnet links)
- - Big refactor to use accessors instead of public fields
- - Add support for metadata transfer (BEP 9) via the
- extension protocol (BEP 10)
- - Add support for adding torrents via standard magnet links (BEP 9)
- and "maggot" links (http://sponge.i2p/files/maggotspec.txt)
- - Add support for peer exchange (i2p_pex)
- - Add stubs for future DHT support (BEP 5)
- - Add more information on torrent details page;
- add details page for single-file torrents
- - Make filename filtering consistent (ticket #368)
- - Fix add-torrent locking (ticket #371)
- - Fix opentracker configuration
- - Add several connect-to-self checks
- - Add support for using new I2CP bandwidth limiter
- - Add support for using new in-session I2CP naming lookups
- - Don't expire outbound Piece messages, since we now defer loading the
- data from disk
- * i2ptunnel:
- - Change connect proxy default to outproxy2.h2ik.i2p (ticket #394)
- - IRCClient: Use tunnel log instance
- - Server: Full queue log tweak
-
- 2011-02-03 zzz
- * Build:
- - Remove dup flag files (ticket #316)
- - Remove BOB dependency on i2ptunnel
- * Console: Add DTG to classpath for old installs
- * I2PTunnel: Fix NPE
- * RandomSource: Fix seeding from /dev/urandom
- * Reseed: Limit time spent downloading from a single source
-
- 2011-02-02 sponge
- * BOB: Revise lookup code, bump BOB version
-
- 2011-01-31 zzz
- * Console: Put all socket handlers in same thread pool,
- set min/max threads and idle timeout
- * Context: Fix properties init
- * DataStructures:
- - Cleanups
- * DecayingBloomFilter, DecayingHashSet: Cleanups and speedups
- * Findbugs: Lots of cleanups
- * I2CP:
- - Add experimental bandwidth limiter
- - Add I2PSession API method to update tunnel and bandwidth
- configuration on an existing session
- - Filter more system properties before passing them to the router
- - Start work on passing per-message flags to the router via I2CP
- * I2PAppContext: New getProperties() method
- * i2ptunnel:
- - Use context properties as defaults
- * NetDB, DatabaseStoreMessage:
- - Convert everything from DataStructure to the
- new DatabaseEntry superclass
- - Optimizations made possible by DatabaseEntry
- - Don't rescan netDb directory unless changed
- * OCMOSJ:
- - Don't send expired messages
- - Clean up stat init
- * PeerManager: Make calculators static, take out of router context
- * Router:
- - Add new RandomIterator, use in UDP, peer selector,
- profile organizer
- - Add a stat to monitor peer selector run time
- * RouterContext: Clean up clock overrides
- * Streaming:
- - Add new real sockets for easier porting of apps.
- See http://zzz.i2p/topics/792 for info. Untested.
- - Case cleanups
- - Javadoc
-
- * 2011-01-24 0.8.3 released
-
- 2011-01-16 zzz
- * Console: Allow editing of console args
- * UDP: Prevent rare startup NPE
- * UPnP:
- - Change all log errors to warns (tickets #76, #95, #120)
- - Double socket soTimeout to 2 seconds
-
- 2011-01-15 zzz
- * Console: Add some HTTP headers in the view servlets
-
- 2011-01-12 zzz
- * Log: Fix rare initialization problem
- * PrivateKey: Fix hashCode()
-
- 2011-01-09 zzz
- * DataHelper: Speed up and annotate sortStructures()
- * Data Structures: More caching improvements, don't cache where we shouldn't
- * NetDB: Don't rescan netDb directory unless changed,
- to reduce Hash cache thrash (backport from test4)
- * RouterInfo:
- - Don't cache byteified data by default, to save ~1.5 MB
- - Don't create empty peers Set, to save ~100KB
-
- 2011-01-07 zzz
- * Data Structures: More caching
- * i2psnark: Improve request tracking to reduce memory usage
-
- 2011-01-05 zzz
- * build.xml: Fix findbugs target
- * Fix some miscellaneous findbugs bugs
- * i2psnark: Refactor request tracking to prevent possible deadlocks
- * OCMOSJ: Fix cache bug
- * TrustedUpdate: Fix key store bug
-
- 2011-01-02 zzz
- * Console: Disable spellcheck in textareas
- * Data Structures: More tweaks
- * I2CP: Fix BWLimits Message reply in standard session
-
- 2010-12-31 zzz
- * Console:
- - Make themes and history.txt return 403 on error,
- not 500, to avoid the new error page
- - Add logging, enable with routerconsole.log=filename
- - Link to full history.txt on help page
- * Data Structures: Caching cleanups
- * Datagram Dissector: Fix RuntimeException caused by reuse,
- preventing iMule from connecting on UDP
- (thanks devzero)
- * i2psnark:
- - Send cache directive for in-war icons
- * OCMOSJ: Refactor cache keys for efficiency
-
- 2010-12-30 zzz
- * Data Structures:
- - New SDSCache for SimpleDataStructures
- - New SimpleByteCache for byte[]
- - Cache Hash, PublicKey, and SigningPublicKey
- - Remove global lock in ByteCache
- * I2CP: Missing piece of parallel naming lookup
- * i2psnark: Fix buttons on Firefox 4.0b
- * i2ptunnel:
- - Use dropdown box to select interface for clients
- - Warn on index page if required fields not set
-
- 2010-12-29 zzz
- * Console: Add 500 error page
- * DSAEngine: Restore variants of methods using a Hash argument,
- required by Syndie, removed in 0.8.1
- * Reseed:
- - Add new configreseed page
- - Add StartCom CA cert required for www.i2pbote.net
-
- 2010-12-27 zzz
- * Crypto: Cleanups and fixups
- * Console:
- - Add SSL support - To enable, change clients.config. Examples:
- ## Change to SSL only: just add a '-s'
- clientApp.0.args=-s 7657 ::1,127.0.0.1 ./webapps/
- ## Use both non-SSL and SSL: add '-s port interface'
- clientApp.0.args=7657 ::1,127.0.0.1 -s 7667 ::1,127.0.0.1 ./webapps/
- ## ...and change URLLauncher args further down for the browser to open https:// at startup if you like.
- - Add a simple history.txt servlet
- - Add form for I2CP options on configclients.jsp
- * Context:
- - Add hook for internal I2CP
- - Change temp file random to Base64 http://zzz.i2p/topics/804
- * Data structure caching:
- - Use a single static null certificate in place of
- tens of thousands of them
- * graphs.jsp: Form tweaks, fix setting delay to 'Never'
- * I2CP:
- - Change from the internal pseudo-socket that was
- implemented in 0.7.9 to an internal Queue that directly
- passes I2CPMessage objects. For in-JVM clients,
- this eliminates two writer threads per client and
- avoids the serialization/deserialization of I2CP messages.
- - New option i2cp.disableInterface to turn off external I2CP port
- (7654) and allow internal clients only
- - I2CP over SSL, enable with i2cp.SSL=true
- - Bypass authorization for internal accesses
- - Move BWLimits and DestLookup message support from
- I2PSimpleSession to I2PSessionImpl
- - Include the Hash in the DestReplyMessage on a failed lookup
- so the client may correlate replies
- - Add support for parallel lookups and BWLimits requests
- - Add support for specifying the timeout for DestLookups
- (can only be smaller than the router timeout for now)
- - Extend dest lookup router timeout from 10s to 15s
- * i2psnark:
- - Backport TrackerClient NPE fix
- - Fix last piece length calculation for torrents > 2GB (ticket #361)
- * i2ptunnel:
- - Get Log from the logManager instead of instantiating,
- so we may adjust the levels on the fly
- - Better logging of server errors
- - Return 503 to client before closing i2p socket if server is not there
- - Extend header timeouts for HTTP and IRC server tunnels
- - Limit server blockingHandle threads
- - Run standard server blockingHandles inline
- - For clients, use a common thread pool that expires idle threads
- rather than keeping 5 accept() threads for each client.
- - Use pool for HTTP decompression also.
- - Disable router host/port options when in router context
- - Add blacklist, connection limit, and jump list options to edit form
- * Pack200: Find and use either Oracle or Apache library at runtime;
- neither required at compile time.
- * Router: Convert 'mark router liveliness' thread to SimpleScheduler
- * Stats: Change stat.full default to false
- * Threads:
- - Reduce thread pool sizes based on memory and/or bandwidth limits
- - Tweak some thread names for clarity
- * Update:
- - Change the UpdateHandler to try all sources in a loop, rather than one,
- so the user need not retry manually
- - For each source, fetch the first 56 bytes and check the version
- before downloading the whole thing, so we need not wait for every
- host to have the latest before updating the news.
-
- 2010-12-26 sponge
- * URI resource fixes from pre-review time from upstream prior merge
- * Evolve URI fixs another step.
- * Document how the URI path fix works.
- * Fix 302 redirects so they URL encode properly.
- * bump to -1
-
- * 2010-12-22 0.8.2 released
-
- 2010-12-13 dr|z3d
- * Console themes: Midnight & Classic renovations.
-
- 2010-12-12 zzz
- * i2psnark:
- - Fix end-game deadlock
- - Fix last-modified check for multifile torrents, causing
- apparent loss of data after abnormal exit
- - Tweaks
-
- 2010-12-11 zzz
- * Build: Fix 'ant distclean poupdate' again
- * I2CP: Change a log error to a warning (ticket #353)
- * i2psnark:
- - Restore text (ticket #273)
- - Fix several HTML errors (ticket #273)
- - Fix HTML error causing info links to be unclickable in dillo (tiicket #273)
- - Fix alt text duplicated or looking bad in text browsers (ticket #273)
- - Fix Opera button errors (ticket #332)
- - Fix POST resubmission errors (ticket #334)
- - Catch FetchAndAdd copy error (ticket #352)
- - Set permissions on downloaded torrent files
- - Hide some columns when not running
- - Lots of spacing cleanups
- - Rename images so users don't end up with unused files
- - Remove ~15 unused images
- - Clean up theme selection speed-coding exercise
- - Indent fixes
- * Log: Don't double-timestamp CRITS in wrapper.log
- * News: XML fixes (ticket #350)
- * Plugins: Better handling of signing keys (Ticket #351)
- * TunnelPoolManager: Fix rare startup NPE (http://forum.i2p/viewtopic.php?t=5192)
-
- 2010-12-10 Mathiasdm
- * I2PTunnel: Fixed up security fix.
-
- 2010-12-07 Mathiasdm
- * I2PTunnel: Security fix: change server reply
- to return 'I2PServer' instead of the actual servername.
-
- 2010-12-06 dr|z3d
- * I2PSnark:
- - Resolve table header wrapping issue.
- - Vanilla/Ubergine theme enhancements.
-
- 2010-12-05 zzz
- * DataHelper: Have readLong() and readString() throw an
- EOFException instead of a DataFormatException on EOF,
- which should lower the log severity in I2CP and I2NP
- when a client or peer disconnects.
-
- 2010-12-02 zzz
- * Console: Format console refresh time
- * I2NP: Allow message to be written more than once,
- instead of throwing an IllegalStateException
- * i2psnark: Fix extension messages
- * Streaming: Restore I2PSocketManagerFull as public
- (broke jwebcahe ticket #345)
- * Transport: Hamachi address block 5/8 assigned by IANA
-
- 2010-12-01 dr|z3d
- * Console:
- - Extensive reworking of ieshim.css for classic theme/Internet Explorer.
- - Additional console_big.css files for other themes to enhance doublebyte glyph support.
- * I2PSnark:
- - Make show/hide peers and stop/start all torrent buttons more obvious.
- - Rework Vanilla icons to bring in line with color scheme.
-
- 2010-11-30 zzz
- * I2CP: Try to hide Pipe closed messages (several tickets)
- * i2psnark: Move PeerCheckerTask from Timer to SimpleTimer2
- to save some threads
- * Logging:
- - Limit buffer size; block and wakeup writer when full
- - Limit errors written to system log
- - Add method to force a log below the current level
- - Try to fix log flushing error
- * Streaming: Change some logged errors to warnings
- (tickets 76, 341 and others)
-
- 2010-11-29 dr|z3d
- * Updated console theme "light".
-
- 2010-11-29 zzz
- * i2psnark:
- - Don't timeout queued piece messages
- * Logging:
- - Use System locale and time zone for default date/time format,
- so it matches the wrapper log time (we can't set the wrapper log time zone).
- (existing installs must remove logger.dateFormat line
- in logger.config to get system default format)
- - Force RuntimeExceptions to CRIT level
- - Don't have log() count buffer size
- * Streaming: Make all classes outside the API package private
- * UDP:
- - Fix bug causing PacketPusher to loop quickly instead of sleeping
- - Fix udp.sendCycleTime stat
- - Fix speed values on peers.jsp
- - Try to fix rare NPE (ticket 298)
-
- 2010-11-28 zzz
- * Build: Move all dependencies to top-level build.xml,
- so each sub-build.xml is only executed once
- * i2psnark:
- - Fix NPE and other partials bugs
- - More extension message stubbing
- - Log tweaks
- * I2PTunnel: Deprecate destFromName()
-
- 2010-11-27 zzz
- * Build:
- - Add man pages to package
- - New updaterWithJavadoc target
- * configstats.jsp: Fix NPE
- * Console:
- - Linkify "plugin installed and started" message
- - Add link to javadocs if installed
- * i2psnark:
- - Drop queued outbound requests when choked
- - Redo some data structures and locking to hopefully prevent deadlock
- - Memory reduction part 3: Return partial pieces to PeerCoordinator when choked
- * Streaming: Fix race NPE at stream close
-
- 2010-11-27 dr|z3d
- * I2PSnark: New alternative theme: "Vanilla".
- * Big thanks to sponge for implementing the theme changer!
-
- 2010-11-27 sponge
- * Plugin: ticket 336 fix NPE
-
- 2010-11-27 sponge
- * Slackware: bump i2p-base version, so that it can be upgraded with the new
- base code fixes.
-
- 2010-11-26 sponge
- * i2psnark: Don't save theme parameter if it has not changed.
-
- 2010-11-26 sponge
- * i2psnark: Add theme change and theme selection storage abilities.
-
- 2010-11-26 zzz
- * Console: Split initialNews.xml into a file for each language
- don't copy to config dir at install.
- * i2psnark: Clean up and enhance the PeerCoordinator's partial piece handling,
- in preparation for more improvements
- * LogManager: When not in router context, delay creating log file until required
- * NetDb: Lower RouterInfo expiration time again
- * Router: Prevent NCDFE after unzipping update file
- * Transports: Round time to prevent clock bias, also adjust for RTT in UDP
-
- 2010-11-26 dr|z3d
- * Readme: Overhaul (English) layout and text.
-
- 2010-11-25 dr|z3d
- * Console themes: Classic and Dark theme refresh.
- * Fix langbox overflow issue in all themes.
-
- 2010-11-24 zzz
- * configui: Add .pt
- * configtunnels: Log cleanup
- * graphs: Synch to conserve memory; cleanup
- * i2psnark:
- - Prevent dup requests during end game
- (ticket 331 - thanks sponge and Oct!)
- - POST parameter tweaks
- - Message cleanup
- * logs: Add trac login hint
- * Router:
- - Save some info to config file when installing or updating
- - Remove global lock on accessing config
- - Add global lock on reading/writing config file
- * SimpleDataStructure: Fix problem in fromBase64() that
- manifested itself as a configtunnels.jsp bug
-
- 2010-11-24 sponge
- * Slackware, fix rc.i2p, bad logic.
-
- 2010-11-24 sponge
- * Plugin: ticket 104 Fix webapp isRunning to check ALL webapps.
- The only defecency is that if one is running, that it considers the
- entire pliugin to be running. I'm not sure if that is a good thing
- or a bad thing, but the other code checks threads that way.
-
- 2010-11-22 zzz
- * Addressbook: Fix rename error on Windows (tkt 323 - thanks RN!)
- * build.xml: Cleanup, fix distclean error in older ants.
- * Console:
- - Convert GraphHelper to a FormHandler
- - Require POST for all forms
- - Change the way we store the Writer to prevent problems
- - Fix bonus setting on configpeer.jsp
- - More ".jsp" removal
- * i2psnark:
- - Defer piece loading until required
- - Stub out Extension message support
- - Convert GET to POST, require POST
- * NTCP: Log tweak
- * SSLEepGet, Reseeder:
- - Implement additional CA loading
- - Provide facility to reuse SSL state for speed
- - Provide facility to store previously untrusted certificates
- - Add www.cacert.org cert to the installer and updater so
- SSL on a.netdb.i2p2.de and c.netdb.i2p2.de will work
- - Add SSL reseed hosts, prefer them by default
- - Reseed message cleanup
-
- 2010-11-19 zzz
- * Addressbook
- - Store last-fetched time so we don't always fetch subscriptions after restart
- - Randomize first fetch time
- - Make most classes package private
- * Console: Rewrite URLs so we don't need .jsp
- * i2psnark: Recognize postman b32, recognize ogv and oga.
- * i2ptunnel:
- - More work on error propagation and improving log messages
- - Increase nonce queue size again
- * News:
- - Store news last-fetched time so we don't always fetch news after restart
- - Don't include news in the updater
- * peers.jsp fixups
- * PrivateKeyFile: Speedups and better messages
- * SecureFile: New class, catch places that were missed,
- add i2p.insecureFiles option to disable (default false)
-
- 2010-11-17 zzz
- * Addressbook: Try to save files safely
- * Console: Display durations with new tagged formatDuration2()
- * DataStructures:
- - Shim in 3 new abstract classes
- SimpleDataStructure, KeysAndCert, and DatabaseEntry
- * I2CP:
- - Send DisconnectMessage at router shutdown
- - Add username/password authorization
- * I2PTunnel:
- - Improve messages when starting and stopping tunnels
- - Index page outproxy display cleanup
- * I2PTunnel HTTP and Connect clients:
- - Shim in a new abstract superclass I2PTunnelHTTPClientBase for common code
- - Add local proxy username/password authorization
- - Add outproxy username/password authorization
- - Filter hop-by-hop Proxy headers appropriately
- * I2PTunnel SOCKS and SOCKS IRC clients:
- - Add local proxy username/password authorization
- - Add SOCKS 5 outproxy support, with username/password authorization
- * logs.jsp: Format multiline messages better
- * Stats: Improve Frequency, enable coalescing; cleanup and javadocs
- * stats.jsp: Cleanup, more tagging, hide obscure stuff unless ?f=1
- * Streaming: Fix bug causing read() to incorrectly return EOF
-
- * 2010-11-15 0.8.1 released
-
- 2010-11-08 zzz
- * I2CP: Fix NPE caused by null session options (seen in i2pbote)
-
- 2010-11-06 HungryHobo
- * New Ant target: debianrepo
- * Rename debian target to debian-binary
- * New debian target generates binary and source packages
- * Debian tweaks
-
- 2010-11-03 zzz
- * Merge and snark fixups
-
- 2010-11-01 zzz
- * ClientConnectionRunner: Add synch to fix race causing AIOOBE
- (http://forum.i2p/viewtopic.php?t=5061)
- * configlogging.jsp: Parse log limit with current locale
- (ticket #118)
- * i2psnark:
- - Limit number of parallel requests of a single piece when in the end game
- - Shorten and weight the speed tracker so the display is more
- reflective of current speed
- * logs.jsp: Add message if wrapper log not found
- (ticket #103)
-
- 2010-10-30 zzz
- * i2psnark:
- - Priority mapping bugfix
- - Close files as we go when creating/checking
- so we don't run out of file descriptors
- - Update request queues after priority change
- - Only add wanted pieces to wanted list at startup
- - Make sure lastRequest is null when it should be
- - Delay during StopAll so we don't close the tunnel before the
- stopped announces go out and reopen it
- - Logging tweaks
-
- 2010-10-27 zzz
- * i2psnark:
- - Don't stay interested if we run out of pieces
- to request (thanks sponge)
- - Enhance debug mode to show requests
- - Priority mapping bugfix
- * Transport: Avoid rare NPE at startup
-
- 2010-10-24 zzz
- * FileUtil: Make it easier to compile without Pack200, or with
- Apache Harmony's Pack200, add unzip to main()
- * i2psnark: Catch a race after disconnect()
- * NTCP: Catch a race after stop()
- * Router: Set permissions on wrapper.log when not called by RouterLaunch
- * Systray: New doc and main()
-
- 2010-10-22 sponge
- * Sanity and some fixs for slackware package
-
- 2010-10-22 sponge
- * Fix rc.i2p for slackware package
-
- 2010-10-19 zzz
- * Escape & in logs and i2psnark (much more to do)
- * JobImpl: Deprecate two debugging methods
- * replaceAll() -> replace() when we don't need regex
-
- 2010-10-15 zzz
- * i2psnark: Add file priority feature
- * I2PSocketEepGet: Set connect delay to save a RTT, will
- speed announces in i2psnark
-
- 2010-10-12 zzz
- *** 1.6 or higher JDK now required to build
- * configlogging.jsp:
- - Add easy way to add an override
- - Make file size specifier more flexible
- * Console:
- - Sort RouterAddress options on netdb.jsp and peers.jsp
- - Remove unused web-*.xml file from war
- * Crypto:
- - Convert all ArrayList caching to LBQs in YKGenerator,
- HMACGenerator, and AESKeyCache.
- - Change DSAEngine params from Hash to new SHA1Hash, since
- these were really 20 byte hashes, not 32 byte Hashes.
- - Add stats to track YKGenerator caching success
- - Fix YKGenerator precalculation to be much more useful by
- increasing the cache size and dramatically shortening the delay
- - Option cleanups
- - YKGenerator cleanups
- - Mark HMAC256Generator unused
- * EepGet: Reset length variable on redirect
- * Files: Change permissions to 600/700 for all written files/directories.
- Now requires Java 1.6 to build, but only 1.5+ to run.
- (requires 1.6 to set permissiomns)
- * GeoIP: Fix locking bug causing lookups to stop
- * Hash: Throw IAE if data length is not 32 bytes,
- now that DSAEngine abuse is gone
- * HTTPResponseOutputStream:
- - More caching
- - Stats cleanup
- - Max header length check
- - Catch OOM
- - Initializer cleanup
- - Javadoc
- * I2CP:
- - Add new option i2cp.messageReliability=none, which prevents the
- router from sending MessageStatusMessages back in reply to an
- outbound SendMessageMessage. Since the streaming lib always ignored
- the MSMs anyway, make it the default for streaming.
- This will reduce the I2CP traffic significantly.
- MSM handling now avoided, but it is still fairly broken, see
- comments in I2PSessionImpl2.
- - Cleanups to replace method calls with fields
- - More cleanups, javadoc, rate reduction
- * i2psnark:
- - Compact response format
- - Add link to finished torrent in message box
- - Don't let one bad torrent prevent others from
- starting or stopping
- - Sort peers by completion %
- - Add some missing mime types to web.xml
- - shouldLog() cleanup
- * i2ptunnel:
- - Now that streaming flush() is fixed, use it in IRCClient, and
- for initial data in I2PTunnel runner, to avoid the 250 ms
- passive flush delay
- - Add hostname DSA signature field, to be used for addkey forms.
- Experimental, may be commented out later.
- - More header blocking (thanks telecomix!)
- - Remove unused web-*.xml file from war
- * Installer: Add startup hint for non-x86
- * Javadoc updates all over the place
- * LogConsoleBuffer: Java 5
- * Naming:
- - Increase cache size and expiration time
- - Add clearCache() method
- - Don't use EepGet or Exec for b32
- - Javadoc updates
- * NetDB:
- - Expire unreachable routers quickly, even if they don't have introducers,
- so we don't have old data on routers that ran out of introducers.
- - Fix rare NPEs at shutdown
- * NTCP:
- - Cleanups
- * Streaming:
- - Make flush() block less, by waiting only for "accept" into the
- streaming queue rather than "completion" (i.e. ACK from the far end).
- This prevents complete stalls when flushing, and should help performance
- of apps that use flush(), like i2psnark (and SAM?).
- close() still does a flush that waits for completion, as i2ptunnel
- doesn't like a fast return from close().
- - cleanups
- * SusiDNS:
- - Remove unused web-*.xml file from war
- * TransportManager: Convert _transports from a List to a CHM
- to prevent a rare concurrent exception
- * Tunnels:
- - Don't use peers < 0.7.9 for tunnels due to the old
- message corruption bugs
- - Javadoc
- - Cleanups
- * UDP:
- - Beginnings of destroy message support
- - Try to avoid running out of introducers by relaxing selection criteria
- and increasing minimum number of potential introducers
- - Avoid rare AIOOBE
- - PacketBuilder refactor
- - Make most classes package private
- - Comments
- - Logging cleanup
- - Comment out a main()
-
- 2010-10-10 sponge
- * Fulfill Request for name resolving in BOB
-
- 2010-09-15 dr|z3d
- * I2PSnark: Overhaul UI, implement new theme.
-
- * 2010-07-12 0.8 released
-
- 2010-07-08 zzz
- * I2PTunnel: More error propagation fixes
-
- 2010-07-07 duck
- * RouterConsole: Add Help & FAQ link, minor label improvements.
-
- 2010-07-05 zzz
- * i2psnark: Fix transition to end game
- * I2PTunnelIRCClient: Filter PART messages like we do for QUIT
-
- 2010-07-04 duck
- * RouterConsole: Dutch translation (thanks to monkeybrains)
-
- 2010-07-03 zzz
- * Build: Fix poupdate dependencies
- * I2PTunnel: More error propagation fixes
- * I2PTunnelHTTPClient: Don't use BufferedReader
-
- 2010-07-01 zzz
- * EventDispatcher: Minor cleanups and comments
- * I2PTunnel: Don't start a tunnel if no valid destinations;
- cleanups, logging, and error propagation fixes
- * Transport: Fix NTCP address generation when host is specified but port is auto
-
- 2010-06-29 sponge
- * 25%-50% cpu savings in BOB. The remainder of the fix is in streaming
- lib, which aparently keeps running and does not sleep according to
- profiling.
-
- 2010-06-29 zzz
- * CapacityCalculator: Cleanup
- * I2PTunnel: Add default HTTPS outproxy
- * Jetty: Disable TRACE and OPTIONS in console and eepsite
- * RouterInfo: Add main() to dump RI files
- * Scale prng.buffers based on max memory, reduce default from 16 to 9
- * SOCKS: Better HTTP error message
-
- 2010-06-26 zzz
- * I2PTunnel:
- - Move connection profile and delay connect to advanced config section
- - Add persistent client key support to SOCKS IRC
- - Fix display of interactive setting
- * jbigi, jcpuid: Suppress log messages when not in router context
- * jetty.xml: Add info on how to configure for following symlinks
- * logs.jsp: Add more JVM version info so we can distinguish OpenJDK from Sun
-
- 2010-06-16 zzz
- * Console: Sort countries with selected locale
- * FileUtil: Try to handle lack of unpack200 support more gracefully
- * Update: Select old update URL if no unpack200 available
-
- 2010-06-13 zzz
- * Console: Add some divs for languages to news and readmes
- * HTTP Proxy: Pass different User Agent to outproxy
- * i2psnark:
- - Move config to separate page
- - Icon tweaks
- * Translation: zh fix
-
- 2010-06-12 welterde
- * fixed possible race-condition and improved code style in ObjectCounter utility class
-
- * 2010-06-07 0.7.14 released
-
- 2010-06-07 zzz
- * Misc tweaks after code review
-
- 2010-06-05 zzz
- * Netdb:
- - Use new receivedAsReply flag in LeaseSet to mark
- those received as response to a query
- - Mark which methods in FloodfillPeerSelector may return
- our own hash
- - Redefine selectNearest() so it may return our own hash,
- so it can be used for closeness measurement
- - Redefine findNearestRouters() to return Hashes
- instead of RouterInfos
- - Fix LeaseSet response decisions for floodfills, based
- on partial keyspace and closeness measurements
- - List only count of published leasesets in netdb
-
- 2010-06-03 zzz
- * NewsFetcher: Delay a minimum amount at startup
- * Update: Fix multiple updates after manually
- starting update - caused by refreshing summary bar
- (thx 'backup'!)
-
- 2010-06-02 zzz
- * graphs.jsp: Tag some more
- * Translation: Set xgettext add-comments option
- * UDP: Fix a bug from a blank i2np.udp.host config
- causing frequent RouterInfo updates and incorrect
- addition of introducers, caused by config.jsp handling
- * Update: Change default update URLs to .su2 for pack200
-
- 2010-06-01 zzz
- * i2psnark:
- - More listing fixes
- - Revert choker change
- - Start end game a little sooner
- * Installer: Disable pack200 in updater again, doesn't work
- on Java 1.5
- * Remove jetty from updater - it's been in for a few
- releases, and i2psnark now has its own listHTML method
-
- 2010-05-27 zzz
- * Translate: Add GNU ngettext (plurals) support
-
- 2010-05-26 zzz
- * i2psnark: Listing fixes and cleanups;
- icons on front page; tweak bw choker again
-
- 2010-05-24 zzz
- * i2psnark: Listing icons and cleanups
-
- 2010-05-23 welterde
- * core:
- - fixed major security hole in DatagramDissector
- * I2PTunnelServer: Implemented WEBIRC support in IRC server tunnel
-
- 2010-05-23 zzz
- * i2psnark:
- - Choke slower when at bandwidth limit
- - Fix completion % for small files
- - Use Random from context
- * NewsFetcher:
- - Add backup URL
- - Change to 0 retries (was 2)
-
- 2010-05-21 zzz
- * i2psnark:
- - Spiff up dir listings
- - Urlify some messages
- - Only go into end game at the end
-
- 2010-05-19 zzz
- * Data: Remove lots of unnecessary initializers
- * susidns: More validatation when adding entry
-
- 2010-05-15 zzz
- * Console:
- - Tag text in graphs
- - Move SummaryRenderer to its own file
- * Eepsite: Set no-cache in redirecting page
- * Hash: Move caching XOR methods only used by KBucket
- into netdb
- * i2psnark: CSS tweaks
- * Log: Translate priority
-
- 2010-05-13 zzz
- * netdb.jsp debug tweaks
- * Plugins: Try to prevent ZipErrors after upgrade
-
- 2010-05-10 zzz
- * Console:
- - Summary bar tweaks
- - Add monthly bw estimate
- * DataHelper: Deprecate inefficient eq() methods
- * i2psnark:
- - Add tunnel config dropdowns
- - Comment out old proxy stuff
- * NetDB:
- - Handle old and duplicate stores more efficiently
- - Have DataStore put() return success
- - Move getDistance() to its own class
- * Router: Add router.forceBandwidthClass advanced config for testing
- * Streaming: Add support for connection throttling
- * TunnelPoolManager: Concurrent
- * UDP: To help limit connections, don't offer to introduce
- when floodfill
-
- 2010-05-10 sponge
- * PluginStarter: If there is some delay, there may be a really good reason for it.
- Loading a class would be one of them!
- So we do a quick check first, If it bombs out, we delay and try again.
- If it bombs after that, then we throw the ClassNotFoundException.
-
- 2010-05-05 zzz
- * build.xml: Create packed sud in release
- * Console:
- - Print stack trace if exception on startup
- - IllegalStateException rather than NPE if no context
- * EepGet: Limit max times to fail completely even if numRetries is higher
- * i2psnark: Skip 'the' when sorting snarks
- * I2PTunnelHTTPClient: Reject 192.168.*
- * Plugins:
- - Set classpath for specific client only, not for the whole JVM
- - Use ConfigDir() not AppDir()
- * Replace size() <= 0 with isEmpty() everywhere, ditto > 0 -> !isEmpty()
- * RouterInfo: Clean up use of sortStructures()
-
- 2010-05-02 zzz
- * ByteCache:
- - Add a per-cache stat
- - Limit each cache based on max memory
- - Disable in UDP MessageReceiver
- - Add clearAll() method to be called when under
- severe memory pressure; call from Router
- * Plugins: Fix version checker bug
-
- 2010-04-27 zzz
- * i2psnark: Serve downloaded files from the servlet rather
- than with a file: link
- * Jetty: Backport directory listing bugfix from jetty 6
- * peers.jsp: Cleanup and tag
-
- * 2010-04-27 0.7.13 released
-
- 2010-04-23 zzz
- * Plugins: Cleanups
-
- 2010-04-21 zzz
- * EepGet: Don't convert a MalformedURLException into
- an IOE so we recognize it when it's thrown
- * ReusableGZIPStreams:
- - Concurrent
- - Workaround for Apache Harmony 5.0M13 Deflater bug
- * TrustedUpdate: Increase buf size for extraction
-
- 2010-04-18 zzz
- * configclients.jsp: Start button logic for clients was inverted
- * Console: IRC links in readmes and initialNews
- * I2PTunnelServer: Debug log incoming conns
- * Transport: Reduce floodfill max NTCP conns to 425 (was 500)
-
- 2010-04-16 sponge
- * BOB early session destroy to speed up tunnel tare-down.
-
- 2010-04-15 zzz
- * DataHelper: Limit max length in readline()
- * Floodfills: Increase max to 100 (was 60) and min to 60 (was 45)
- * i2ptunnel: Log tweaks
- * I2PTunnelHTTPServer: Limit max header lines
-
- 2010-04-15 sponge
- * I2PTunnelHTTPClient: Test for "http://:/" and output error page.
- This avoids an ArrayIndexOutOfBoundsException, which can eventually
- cause the eepproxy to stop functioning.
-
- 2010-04-12 zzz
- * configstats.jsp: Fix full stats checkbox default
- * i2psnark:
- - Concurrent, limit, display, log tweaks
- * i2ptunnel: Implement access lists for TCP servers.
- Enter b32 or b64 hash or dest into list box, and
- check enable for whitelist. Uncheck enable and enter
- i2cp.enableBlackList=true in advanced i2cp options for
- blacklist. Todo: make black/whitelists radio buttons.
- * LogManager: Concurrent
-
- 2010-04-10 zzz
- * i2psnark:
- - Disconnect seeds that connect to a seed
- - Lower per-torrent conn limits for large pieces
- * Startup:
- - Don't die horribly if there is a router.info file
- but no router.keys file
- http://forum.i2p/viewtopic.php?t=4424
- - Log tweaks
- * Streaming:
- - Fix the window size increment logic so it
- does it much more often
-
- 2010-04-08 zzz
- * Key Manager: Hopefully avoid some races at startup
- http://forum.i2p/viewtopic.php?t=4424
- * OCMOSJ:
- - Increase min timeout
- - Logging tweaks
- * Streaming:
- - Detect and drop dup SYNs rather than create
- a duplicate connection - will hopefully fix
- "Received a syn with the wrong IDs"
- - Send reset for a SYN ACK with the wrong IDs
- - Don't send a reset to a null dest
- - Logging tweaks
- - Cleanups
-
- 2010-04-05 zzz
- * Console:
- - Add tooltip support for plugin links
- - Make target=_blank for plugin links
- - More HTML transitional fixes
- - Standardize on 'save' to the right of 'cancel'
-
- 2010-04-02 zzz
- * FloodfillPeerSelector: Adjust rankings again
-
- 2010-03-31 zzz
- * FloodfillPeerSelector: Adjust rankings to try to
- improve LeaseSet lookups
- * HostsTxtNamingService: Don't load the whole hosts.txt
- into memory for every lookup
-
- 2010-03-29 zzz
- * build.xml: Prep for a windows-only pkg
- * configclients.jsp:
- - Always show start button for webapps and plugins
- * configclients.jsp, configupdate.jsp:
- - Fix submission when entering CR in a text box
- * EepGet: Don't retry after a MalformedURLException
- * HTTPResponseOutputStream: More static
- * Plugins:
- - Stop all plugins at shutdown
- - Log tweaks
- * WebApps:
- - Remove the WAC after stopping it
- - Stop a WAC before starting it to prevent dups
- - Implement destroy() in addressbook to prevent dups
- - Implement destroy() in i2psnark to prevent dups
-
- 2010-03-25 zzz
- * configclients.jsp: Fix dup anchor
- * Console: Sort plugin links in summary bar
- * i2psnark:
- - Send numwant=0 if we don't need peers
- - Report returned complete and incomplete counts
- if higher than peer count
- - Allow missing peer list
- - Log tweaks
- * netdb.jsp: Tag transport properties
- * Plugins: Remove final check and install console
- messages after a while
- * PrivateKeyFile: Add b32 output
- * Reseed: Add another host
-
- 2010-03-18 zzz
- * Blocklist, CommSystem, FIFOBandwidth, TransportManager,
- OutNetMessage, InNetMessagePool:
- - Java 5 cleanup
- * ByteCache:
- - Replace some locks with concurrent
- * Clients:
- - Negative delay means run immediately and inline
- - Add methods to test class and run inline,
- to propagate errors to the console
- - Use new methods for plugins
- - Add javadoc for clients.config format
- * config.jsp: Set burst to +10% for 20s by default,
- to fix bug where the burst stays high when limits
- are reduced.
- * FIFOBandwidthRefiller:
- - Replace global counters with atomics
- - Use lockless shortcut methods to grant
- requests if we can satisfy immediately
- * i2psnark: Tweak upload bw tracking
- * Installer: Enable pack200 (-3.3MB)
- * Job Queue:
- - Replace some locks with concurrent
- - Change job ID to a long so it won't wrap
- - Remove some unused stats
- - Java 5 and debug cleanup
- * KeyManager: Concurrent
- * logs.jsp: Add link to trac
- * netdb.jsp: Display transport cost if not default
- * Peer Manager:
- - Replace some locks with concurrent
- - Switch back to fast version of getPeersByCapability()
- - Java 5 cleanup
- * Streaming: Concurrent
- * Throttle:
- - Remove some unused stats
- * Tunnel Builds: Enable VTBM
- * Tunnel Dispatcher: Discard at IBGW based on router clock,
- not system clock.
- * TunnelGatewayPumper:
- - Refactor for concurrent
- * UDP:
- - Big refactor of several classes for concurrent,
- elimination of several locks
- - Reduce max number of resent acks in a packet to
- lower overhead
- - Take incoming messages from the head of the queue,
- not sure why taking them from the tail "reduces latency"
- - Java 5 cleanup
-
- 2010-03-17 zzz
- * I2PTunnel: Disable nonce checking when console password set
- * Reseed: Add another host
-
- * 2010-03-15 0.7.12 released
-
- 2010-03-13 zzz
- * Partial fix for i2ptunnel nonce troubles
-
- 2010-03-08 zzz
- * Floodfills: Increase max to 60 (was 28) and min to 45 (was 20)
- * i2psnark: Better track outgoing bandwidth by incrementing
- counter before the blocking write
- * Random: Remove and deprecate some old classses
- * Reseeder: Reduce max response size to 1MB (was 8MB)
-
- 2010-03-05 zzz
- * Console:
- - Tag reseed messages
- - Translate country names on flag popups
- * I2PSOCKSIRCTunnel:
- - New, for filtering IRC client traffic when using SOCKS
- * I2PTunnelIRCClient:
- - Make filter classes static and public for use by SOCKS
- - Eliminate redundant case conversion
- - Pass ISON message through (jIRCii uses it for pings)
- - Switch back to StringBuffer since it's used by 2 threads
- - Set daemon on filter threads
- * SOCKS5Server:
- - Fix handling of multiple authentication methods
-
- 2010-03-02 zzz
- * Console:
- - Add link to jobs.jsp on configservice.jsp
- - Add plugin disableStop support
- * Context: Add boolean getProperty methods
- * HTTP Proxy:
- - Fix address helper conflicts caused by last checkin
- - Use B32 instead of random hostname for conflict link
- * LoadClientAppsJob:
- - Fix unquoted arg after quoted arg
- - Logging cleanup
-
- 2010-02-27 zzz
- * eepsite: Add some help to index.html
- * HTTP Proxy:
- - Put B32 instead of B64 in Host: header, saves 450 bytes
- - Eliminate some redundant lookups
- - Fix http://i2p/b64/ and /eepproxy/site/ requests
- - Disallow a port specified for an i2p address
- - Cleanup and comments
- - For more info see http://zzz.i2p/topics/566
- * i2psnark:
- - Fix NPE after create file failure
- - Sanitize more characters in file names
- * netdb: Fix NPE after OOM http://trac.i2p2.i2p/ticket/38
- * NTCP Transport:
- - Replace lists with concurrent queues in EventPumper
- and NTCPConnection to remove global locks
- - Java 5 cleanup
- * Plugins: Support console themes
- * UDP Transport:
- - Replace the unused-since-2006 TimedWeightedPriorityMessageQueue
- with DummyThrottle
- - Don't instantiate and start TWPMQ Cleaner and OutboundRefiller
- threads, part of priority queues unused since 0.6.1.11
- - Don't instantiate and start UDPFlooder, it is for testing only
- - Prevent NPE http://zzz.i2p/topics/571
-
- 2010-02-23 zzz
- * Unzip: Any files in the zip with a .jar.pack or .war.pack extension
- will be transparently unpacked with unpack200. Savings is about 60%.
- Someday we will do this for suds, but we can do it for xpi2ps now.
- * build: Add updater200 target
-
- 2010-02-22 zzz
- * configclients.jsp:
- - Add js delete confirm
- - Remove delete button for webapps
- * i2psnark:
- - Ignore a non-i2p tracker in a torrent rather than deleting
- the torrent, thus "converting" a torrent to in-netowrk use
- via the open trackers
- - Add js delete confirm
-
- 2010-02-19 zzz
- * i2psnark: Make file box bigger
- * Plugins:
- - Fix display of download status
- - Unhide
-
- 2010-02-18 zzz
- * Clock: Slew tweak
- * i2psnark: Improve error message when finding HTML
- * HTTP Proxy: Fix blank page instead of error page for eepsite unreachable
- * Plugins:
- - Fix plugin start button
- - Change signer prop to match docs
- - Tweaks
- * Transport:
- - Fix recognition of IP change when not firewalled
- - Require consecutive identical results from two peers before changing IP
- * TrustedUpdate: CLI exits 1 on failure for ease of use in scripts
-
- 2010-02-15 zzz
- Propagate from 3 dev branches.
-
- i2p.i2p.zzz.test:
- * Clock:
- - getFramedAveragePeerClockSkew() now returns a long (ms);
- was a Long (s)
- - Implement NTP-style clock slewing so the clock is adjusted
- gradually
- - Implement clock strata so we prefer better clocks
- - Implement a timestamper in the transport so we will periodically
- update the clock even if NTP is not working.
- This allows the router to converge the clock instead of simply
- hoping the first connected peer is correct.
- - Slow down NTP attempts after several consecutive failures
- * Console: refactor and tag update messages
- * Streaming: MessageOutputStream logging tweaks
- * Transport:
- - Prepare for using address costs
- - Adjust bids based on address cost
- - Increase cost if near transport capacity, disabled until 0.7.12
- - Clear the geoip negative cache periodically
-
- i2p.i2p.zzz.plugin:
- * Jrobin: Move from routerconsole.jar to its own jrobin.jar,
- adjust classpath in routerconsole.jar manifest
- * Plugins:
- New plugin support, hidden for now, enable with router.enablePlugins=true
- Configure and add plugins on configclients.jsp
- Supports the following:
- - Console webapps
- - New translation bundles
- - Link on console
- - Anything that can be started in clients.config
- - Additions to classpath for clients and webapps
- * TrustedUpdate:
- - Add method to check if we know about a key
- - Add method to add a key
- - Add method to extract without verifying
- - Add method to get key signer name
- * Webapps: Allow additions to a webapp classpath.
- - Pull jstl.jar and standard.jar out of susidns.war
- - Remove 100KB of duplicate classes from i2psnark.war
-
- i2p.i2p.zzz.VTBM:
- * I2NP: Add UnknownI2NPMessage so we can route unknown message types
- * Tunnel Builds:
- - Add getRecordCount() to TunnelBuildMessage and TunnelBuildReplyMessage so they can be extended.
- - New I2NP Messages VariableTunnelBuildMessage and VariableTunnelBuildReplyMessage,
- which contain the number of request slots in them.
- - Convert all static assumptions of 8 slots to getRecordCount()
- - Use the new VTBM if all hops in the tunnel and the OBEP or IBGW of the reply tunnel
- support it, and the tunnel is 4 hops or shorter.
- - Reply to a VTBM with a VTBRM of the same size
- - Make BuildReplyHandler static
- - Convert the currentlyBuilding List to a ConcurrentHashMap to speed reply lookups
- and eliminate a global lock; don't put fallback tunnels in there
- - Add new tunnel.corruptBuildReply stat
- - Various cleanups and javadoc
- - Fix first hop expiration for Build Messages, was way too long
- - Randomize Build Message expiration to make it harder to guess hop position
- - Save expired tunnel build configs for a while, so that we will still use the tunnel
- and update peer stats if the reply comes in late
- - Don't update our own profile for Tunnel Build Replies
- - VTBM generation only through routers >= 0.7.12
- - VTBM generation disabled for now
-
- * 2010-02-15 0.7.11 released
-
- 2010-02-13 sponge
- * Fix addWebApplications API goofup
- * Bump BOB version, which I forgot to do.
-
- 2010-02-13 zzz
- * Floodfills: Increase max to 28 (was 15) and min to 20 (was 10)
-
- 2010-02-12 sponge
- * org.mortbay.jetty.Server modified method to accept attributes for
- batch webapp launches via addWebApplications.
-
- 2010-02-10 zzz
- * I2PTunnelRunner: Flush initial data, for some reason it wasn't
- getting flushed ever in some cases.
-
- 2010-02-10 zzz
- 64-bit windows installer fixes. Still no 64-bit wrapper.
- Thanks eche|on for testing!
- * Izpack:
- Add 64-bit windows dll so installer doesn't die trying to add shortcuts
- * Launch4j:
- Upgrade to launch4j 3.0.1 2008-07-20.
- The license is BSD for launch4j and MIT for the wrapper code in head/
- Changelog is in installer/lib/launch4j/web/changelog.html
- Hopefully this will fix installs for 64-bit JRE on 64-bit windows.
- The previous version was 2.0-RC3 2005-08-13.
- The previous license was GPLv2 for launch4j and LGPLv2.1 for the wrapper code in head/
- The bin/ld.exe and bin/windres.exe files were contributed by
- i2p users in 2005 so the i2p installer could be built on windows.
- They have not been updated for 3.0.1, so pkg builds on windows
- will presumably still get 2.0-RC3.
-
- 2010-02-06 zzz
- * Console: Fix saving update keys, was broken in 0.7.10
- * i2psnark: Add transmission ID
- * news.xml: Wrap i2p version tags in XML comment
- * Transport: Try yet again to prevent two NTCP pumpers
-
- 2010-02-04 zzz
- * i2psnark: Fix sending stopped events to the tracker
-
- 2010-02-03 zzz
- * Console:
- - Hide update buttons and update config if install dir is readonly or if configured
- - Show yellow star if no outbound tunnels
- * i2psnark: Don't prefer to opportunistically unchoke unchoking peers when not interested
- * NetDb: Lower min RouterInfo expiration to 2.5h (was 3h)
-
- 2010-01-31 zzz
- * i2psnark standalone: Fix CSS
- * Jetty: Update to 5.1.15 to get ResourceHandler fix
-
- 2010-01-30 sponge
- * Fix NPE in TCPtoI2P when a lookup fails, report the error to the stream.
- * Fix setkeys bug in DoCMDS, forgot to create the object before calling
- it's methods, which threw an NPE.
-
- 2010-01-29 zzz
- * build.xml: Add a debian-source target
- * Data structures:
- - Speed up some hashcode() and equals()
- - Cleanup and javadoc
- * Jetty: Turn on checkAliases
- * NetDb:
- - Add basic DOS prevention for lookups
- - Move flood throttle check so we don't throttle ourselves
- - Don't store over client tunnels to pre-0.7.10 floodfills
- - Don't update unused lease fail stats
- * Startup: Disable browser launch for debian daemon
-
- 2010-01-28 welterde
- * enhance support for multiple RouterAddresses' of the same style in RouterInfo
-
- 2010-01-26 zzz
- * build.xml: Speed up distclean additions
- * Clock: Don't refuse to update because of peer skew the first time
- * Debian: Fixup, update, enhance scripts
- * I2NP: Various cleanup and bulletproofing
- * Log: Try to avoid complaints at shutdown
- * Profiles: Fix lack of profiles at router startup, especially for new routers
- * stats.jsp: Shrink the dropdown box
-
- 2010-01-24 zzz
- * ProfileOrganizerRenderer: Cleanups
- * Reseed: Update welt's reseed hostname
- * Transport clock skews:
- - Store and report UDP clock skews even for large values, so
- a badly skewed local clock will be reported to the console
- - Don't shitlist for NTCP clock skew if we don't know what time it is
- - If NTP hasn't worked yet, have NTCP or SSU update the clock one time
- - Include failed clock skew in NTCP skew vector if there aren't many connections
- - Don't include NTCP clock skews for non-established connections
- - Fix framed clock skew frame size
- - Report framed clock skew even if for only one peer, if NTP hasn't worked yet
- - Don't log RRD errors after clock adjustment
- - Reduce min skew for console warning to 30s (was 45s)
- - More Java 5 cleanups
-
- 2010-01-24 zzz
- * Clock:
- - Don't let a client update the router clock
- - Restore and enhance vanished clock error log message
- * Graphs: Enforce max size to lessen chance of OOM from malicious link
- * NetDb:
- - Move stat initialization, reduce number of rates
- - Add basic DOS prevention by not flooding if stores are too-frequent
- * ProfileOrganizer:
- - Limit High Cap to 75 max
- - Reduce max lock wait time, change no lock error to warning
- - More cleanup
- * Startup:
- - Enable multiple parallel job runners much sooner to speed startup
- - Rearrange the startup order to get the long jobs started sooner
- - Don't allow the netDb readin job to clog the job queue
-
- 2010-01-21 dr|z3d
- * New eepsite structure and enhanced pages. Now with graphics and stuff!
-
- * 2010-01-22 0.7.10 released
-
- 2010-01-21 zzz
- * eepget.bat: Add to pkg
- * Floodfills: Increase max to 15 (was 9) and min to 10 (was 4)
- * I2PTunnelServer: Fix bug preventing connection retries
- at startup from working
- * Logs: Don't be quite so noisy in the wrapper log if we
- can't open the router log
- * Properties: Don't play games with \r and \n on load/save,
- it was causing fatal issues on DOS if your username started
- with r or n
-
- 2010-01-19 sponge
- * Firewall fix for NTCP, where firewalls will forget a NAT relationship
- on a stream... AKA setting keepalive. This should fix the stuck NTCP
- issue that has been bothing zzz for years.
- * Set keepalive on BOB connections too, since this will assist closing
- the connections in the event of a crash on a client.
-
- 2010-01-18 zzz
- * configclients.jsp: Fix add-new-client feature
- * Console: Add a tunnel share ratio estimate
- * graphs.jsp:
- - Remove jrobin sig
- - Set lower limit to 0
- - Save settings when changed
- * Reseed: Support SSL and proxies
- * Translate: Catch empty string
-
- 2010-01-17 zzz
- * Clock: Change a CRIT to an ERROR, lower threshold for changing from 10s to 5s
- * configclients.jsp: Support add, delete, edit
- * I2CP: Clean up resources on 5-minute leaseset timeout at startup
- * LeaseSet generation: Increment the lease date slightly, to force
- the floodfill to flood it when it changes
- * NetDb Lookups: Don't try to send a RI lookup to itself through a zero-hop tunnel
- * NetDb Stores and Verifies:
- - Do LS stores and verifies through client tunnels
- to prevent correlation by the OBEP or FF
- - Encrypt LS stores to prevent snooping by the OBEP,
- if the floodfill supports it
- - Encrypt LS and RI verifies to prevent snooping by the OBEP
- - Extend verify delay and timeout
- - Reenable RI verifies
- - Disallow simultaneous verifies for the same key
- - Don't resend on verify timeout; try a different peer instead
- - Don't resend to same peer on verify fail, try a different one
- - Adjust ff selection criteria
- - Flood even if received garlic-encrypted
- * Profiles: Limit fast peers to 30 max
- * SSLEepGet: New
- * Tunnels: Prevent more than one zero-hop tunnel in a lease
- * VersionComparator: Move from TrustedUpdate.java to util
-
- 2010-01-14 sponge
- * Fully clean up I2PTunnel. No more lint issues, should compile 100%
- clean.
- * Dropped unused class BufferLogger from I2PTunnel as it is not used
- anylonger.
-
- 2010-01-14 sponge
- * Clean up reverse connection ability, remove some annoyingly redundent
- code. Place all settings in the console. It works!
-
- 2010-01-10 sponge
- * Insert reverse connection ability into the http server code so that
- seedless can start to get worked on. It's disabled by default.
-
- * 2010-01-12 0.7.9 released
-
- 2010-01-12 zzz
- * I2CP: Clean up resources on 5-minute leaseset timeout at startup
- * Increase max floodfills to 9 (was 6)
- * Temporarily disable routerInfo floodfill verifies
- * Fix .fr eepsite index css
- * Javdoc tweaks
-
-
- 2010-01-09 zzz
- * Include new eepsite indexes in pkg
-
- 2010-01-06 zzz
- * Summary bar tweaks
-
- 2010-01-02 sponge
- * Fix one last stupid mistake in build.xml, my fault.
-
- 2010-01-02 sponge
- * Fix NB 6.8 goofyness... 'till ant 1.7.1 or > is needed, stay with NB
- 6.5, as the newer ones place a check for 1.7.1. We require 1.7.0
-
- 2010-01-02 sponge
- * Fix build.xml target for justBOB
- * Fix Main build.xml so that it actually deletes backup files and add a
- few extra types that should be commonly needed... atleast by me.
-
- 2010-01-02 zzz
- * Console: Save refresh setting
- * i2psnark:
- - Don't URL-encode chars we don't have to
- - CSS tweaks
- * Transport: Implement 'laptop mode' to change ident and port
- when the IP changes
-
- 2010-01-01 sponge
- * Happy New year everyone!
- * Added a target to generate a stand-alone BOB jar file.
-
- 2009-12-31 zzz
- * BuildResponseRecord: Make static
- * i2np: Remove unused logs
- * i2psnark: Fix message box, was a little too small
- * InternalSocket: Fallback to external socket on fail
- * NetDb: Fix exploration by adding a null hash to mean
- "don't give me floodfills"
- * PeerSelector: Downgrade floodfills with high fail rate
-
- 2009-12-26 zzz
- * Console:
- - Tag the rest of logs.jsp
- * Tunnels, Transports:
- - Lots of code to detect improper reuse of cached objects
- after release
- - Prevent release of TunnelDataMessage cached ByteArray,
- as it may be reused if retried in another transport;
- a nasty bug causing corrupt messages
- - Prevent race with released resources in UDP OutboundMessageState;
- a nasty bug causing corrupt messages
- - More cleanups and comments
- * UDP: Bid lower than NTCP when we need introducers and don't
- have enough
-
- 2009-12-22 zzz
- * Tunnels:
- - Do RED dropping before the IBGW fragmenter, not after
- - Change batch time to 250ms for IBGWs (was 100ms)
- - Change batch time to 150ms for exploratory OBGWs (was 100ms)
- - Start a new message in the fragmenter if almost full
- - Fix a major, longstanding synchronization bug in the FragmentHandler
- which led to corrupt messages at the endpoints
- - More cleanups and comments
-
- 2009-12-20 zzz
- * Console:
- - Fix status to show a disconnected network error rather than
- clock skew or UDP error when disconnected
- - Use peer clock skew rather than clock offset for determining
- whether to display clock skew error
- - tunnels.jsp: Clarify tunnel table headings
- * Contexts: Add isRouterContext() method
- * Profile, DBHistory:
- - Tweak the rate periods
- - Add a global fail rate stat
- - Increase the HashMap sizes
- * Router: Move some more threads to I2PAppThread so an OOM won't
- crash the router
- * Timestamper: Reduce delays (cuts 10s out of router startup)
- * Transport: Rework peer clock skew method to always return a value
- * Tunnels:
- - Reduce the drop probability for TunnelBuildMessages at the OBEP
- - Schedule outbound startup instead of hanging the thread for 3s
- - Cleanup preprocessor code, add comments
-
- 2009-12-18 zzz
- * Console: Fix spacing in update section
- * I2CP:
- - Move client-side writes to their own thread
- - Reenable InternalSockets
- * i2ptunnel: Fix bundle script
- * InNetMessagePool: Cleanup
- * Log:
- - Close old file on rotate
- - Buffer writes
- - Write in UTF-8
- * SusiDNS:
- - Remove untranslatable button images (-15KB)
- - Tag buttons and messages
- - Add some button CSS
- * Tunnel building:
- - Increase timeout to 13s (was 10s)
- - Fix tunnel.buildReplyTooSlow stat
- - Tweak logging
- - Prioritize expl. builds over client builds
- - Code cleanups
- * TunnelSettings: Drop, unused
-
- 2009-12-15 zzz
- * HTTP Proxy: Make jump server list configurable
- * I2CP: Remove unused logs
- * i2psnark: Fix stop/start, cleanups
- * i2ptunnel: Fix bundle location
- * SusiDNS:
- - Rewrite and correct a lot of the text, tag jsps
- - UTF-8 fixes
- * TunnelManager: Fix a locking bug
- * Update: Improve error message
-
- 2009-12-13 zzz
- * Find ResourceBundles in wars
- * Fix restart from config.jsp if no wrapper
- * i2psnark: Elaborate popups
-
- 2009-12-12 welterde
- * Sort peers on tunnels.jsp by country
- * fix NPE in ^^
-
- 2009-12-12 zzz
- * Disable InternalSockets until it's fixed
-
- 2009-12-11 zzz
- * Addressbook, susidns: Rework addressbook into a
- HttpServlet, so susidns can kick it when the subscription
- list changes
- * Build: Truncate the history in the updater (-80KB)
- * Console:
- - Add a nicer handler for missing webapps
- - Restore the restart message
- - Change "depth" to "length"
- * Data: Cache the Hash hashcode
- * EepGet: Use InternalSocket if available
- * Fragmenter: Pull the new comments, new stats, and
- debug log fix from i2p.i2p.zzz.batch in - but not the
- batching mods, which need a fresh look.
- * I2CP: Implement an internal "socket" class that
- allows clients in the same JVM to connect to the
- router without going through the kernel
- * I2NP: Drop unused classes
- * i2psnark:
- - Translation support
- - Tweak torrent name popup
- * I2PTunnel:
- - Translation support
- - Switch all I2PThreads to I2PAppThreads
- - Run an InternalSocket as well for the HTTP Proxy
- * Naming Services:
- - New EepGetAndAddNamingService that appends new
- hosts to hosts.txt
- - Move default reverseLookup to base class
- - Deprecate unused services
- * NetDb:
- - Switch from ArrayList to ConcurrentHashSet in
- KBucketImpl to reduce chance of deadlock;
- remove periodic shuffling of the bucket,
- needs to be addressed elsewhere
- * SusiDNS:
- - Translation support
- - Remove jsp's from the war
- * Translation: Move code from routerconsole to core,
- to support translation of other webapps
-
- * 2009-12-08 0.7.8 released
-
- 2009-12-08 zzz
- * Misc. cleanups after review, prep for release
-
- 2009-12-06 zzz
- * netdb.jsp: Fix bug caused by XSS fix
- * Translations: drop ru until after release
-
- 2009-12-05 zzz
- * Build: Fix poupdate dependency
- * Console: Add Russian option
-
- 2009-12-05 sponge
- * BOB: fix a critical bug causing ghosts on probes
- and remove unused code.
-
- 2009-12-04 zzz
- * Console: Close up some possible XSS (thanks Pragmatk)
- * i2psnark: Config cleanup, more HTML transitional fixes
- * readme*.html: Point to translated pages on www.i2p2.i2p
-
- 2009-11-29 zzz
- * config.jsp: Comment out unused stuff better
- * profiles.jsp: Hide non-ff from ff table
- * HTTP Proxy: Don't send proxy.i2p to the naming service,
- it was making the error pages load slowly
- * SOCKS Proxy: Fix an error message
- * Transport: Fix the default inbound burst
-
- 2009-11-29 sponge
- * net.i2p.router.transport.udp deadwood code cleanup.
- * documented rare NPE in InboundEstablishState.java.
-
- 2009-11-28 sponge
- * Improvement to BOB's TCPio to hopefully lower load average. It seems
- to be helping a little when stress-tested with Robert.
-
- 2009-11-24 zzz
- * DataStructures: Remove unused Logs
- * OrderedProperties: Simplify, use in i2psnark
- * Profiles: Record successes in the DB fail rate
- too, so we can calculate a percentage
- * profiles.jsp:
- - Change fail rate from count to percent
- - Hide standard profiles by default
- * Streaming:
- - When an "immediate" ack is requested, do it within
- 250 ms (was 2000)
- - Request immediate acks when < 1/3 of window remains,
- or when < 3 packets remain in window,
- and every 8 packets (was when < 2 packets in window remain)
- - Change requested delay to RTT/2 (was RTO/2)
- - Log cleanup and javadoc
-
- 2009-11-21 zzz
- * GeoIP: Update to Nov 17 2009 data
- * Netdb Floodfill rework part 4 of N:
- - Search closest-to-the-key
- - Put closest-to-the-key in explore don't-include-list
- - Use facade's peer selector for exploration rather than
- instantiating a new one
- - Adjust response time limit
- * netdb.jsp: Add popups on flags
- * Routerconsole build: rename include files so they aren't
- compiled and bundled separately (~15KB)
-
- 2009-11-18 zzz
- * Build: Don't update the po files by default, add new
- target "poupdate" to do that.
- * Netdb:
- - Floodfill rework part 3 of N: Send closest-to-the-key
- in DSRM replies
- - Adjust criteria for following DSRM
- - Note failed floods in the profile
- - Reduce max flood
-
- 2009-11-16 zzz
- * addressbook: Move class to net.i2p.addressbook
- * build: Take two test scripts out of the installer
- * i2psnark: Bye TPB
- * Shitlist: Fix bug from two checkins ago, all were forever
-
- 2009-11-14 zzz
- * HTTP Proxy:
- - Add support for error page translations
- - Add support for external pages for all errors
- - Fix lack of \r in error page headers
- - HTML transitional fixes
- - Cleanups
- * UDP PeerTestManager: Throw in some synchronization to
- try to fix stuck tests
-
- 2009-11-11 zzz
- * Console: Some colon cleansing
- * FloodfillPeerSelector: Adjustments
- * Shitlist: Move HTML renderer to router console,
- add cause parameter for ease of translation,
- tag all causes
-
- 2009-11-11 zzz
- * Addressbook, NamingService: Allow 516 byte dests
- that end with AA but not AAAA, so we can permit
- non-null zero-length certs.
- * Console:
- - Tag tunnel status
- - Add transport table to netdb.jsp
- * i2psnark:
- - Reject torrents with too many pieces
- - Reject torrents with a single file named *.torrent
- - Increase max piece size to 2MB (was 1MB), but reduce
- max number of connections to lessen ooms
- * Netdb FloodOnlySearchJob:
- - Fix up field hiding and duplicate overrides
- - Other javadoc and java 5 improvements
- * Netdb StoreJob, FloodfillVerifyStoreJob:
- - Fix bug where reply selector wasn't registered for
- routerinfo stores, so we didn't get stats, and
- we kept retrying. This also prevented verification
- and profile updates for routerinfo stores.
- This bug was introduced 4 years ago by the change to
- store routerinfos directly.
- - Add dbStoreSuccessful() to profile, and have FVSJ
- call it or dbStoreFailed() as appropriate to give
- credit or blame to the floodfill we stored to.
- - Don't let FVSJ verify using the peer we stored to
- * Netdb Stores:
- - Floodfill rework part 2 of N:
- Store and verify closest to the key, subject to
- last-failed lookup and store stats.
- - DataHelper: Fix broken byte[] compareTo() used by XORComparator,
- was not doing unsigned comparisons!
- - FloodfillPeerSelector: Use standard XORComparator
- now that it works, instead of messing with BigInteger
- - FloodfillVerifyStoreJob: Set correct timeout for
- requeued store job (was only 10s)
- - KNDF: Rework getPeerTimout() to use 1 day averages,
- and lower the min, max, and multiplication factor.
- - Publish jobs: Lengthen timeout to 90s (was 30s for
- routerinfos and 60s for leasesets)
- - StoreJob: Limit max peer timeout to 15s for direct stores
- * Streaming: Fix unused resend delay field in the packet header,
- it is defined as seconds and we were not dividing by 1000,
- so we were truncating 1000 to one byte which equals 232.
- * UDP:
- - Better handle a test reply from bob with a 0-length IP
- - Add config options for min and max random port
-
- 2009-11-09 dr|z3d
- * New midnight blue lightweight theme; supports IE and provisions its own console_big.css
- * Streamlining and honing of console_big.css
-
- 2009-11-07 zzz
- * Console:
- - countries.txt: Convert to mixed case, include in update
- - netdb.jsp: Hide all routers by default, sort and tag country names
- - oldstats.jsp: Move to stats.jsp
- - profiles.jsp: Show new DBH times instead of counts
- * Profiles:
- - Track last good and bad lookup times
- and last good and bad store times,
- to prep for floodfill changes
- - Don't reset last-heard-about at router startup
- * Checklist and Android readme fixups
-
- 2009-11-04 zzz
- * Build:
- - Move some files to installer/resources
- - Fix initialNews.xml in install package
- * Console: More tagging
- * NetDb: Reduce routerinfo expiration slightly
- * Profiles:
- - Remove the almost-unused send and receive size RateStats;
- this also reduces the effective time for isActive()
- - Only store DB history on-demand to save space;
- fix up resulting NPEs
- - Savings: ~2MB heap
- * Throttle: Reduce max msg delay to 1250ms (was 1500)
- * UDP: Pick a random port on first install or bind failure -
- No more port 8887 to prevent easy state-level blocking
-
- 2009-11-04 sponge
- * Fixups to Slackware scripts
-
- 2009-10-31 zzz
- * Console:
- - More tagging
- - Show user-installed themes on configui.jsp
- - Fix reseed button spacing
- * GraphHelper cleanup
- * Susidns: add link to subscription faq
-
- 2009-10-29 zzz
- * Console tag fixes, bundle script fix
- * Add help target to build.xml
-
- 2009-10-28 zzz
- * Console:
- - Rewrite TrustedUpdate version comparator, use for netdb version table
- so 0.7.10 will be sorted correctly
- - Reduce netdb.jsp memory usage
- - More tagging fixups
- - configclients.jsp fixup for "Web console"
- - Remove limiter status from peers.jsp
- - Fix UPnP status header
- * NetDb:
- - Generate new RI immediately at startup
- - Try again to not publish RI until we have been up a few minutes
-
- 2009-10-26 zzz
- * Console:
- - Add parameterized tag
- - Don't save config when checking for updates on configupdate.jsp
- - Refactor confignav.jsp to java and tag
- - Start tagging profiles.jsp
- - Rework ConfigRestartBean and tag
- - More tag fixups
- - Add lang=xx for testing
- - Add file for additional tagged strings
-
- 2009-10-23 zzz
- * Certificate: Fix the (apparently unused) readBytes(byte[], int) method
- for a null certificate - http://zzz.i2p/topics/388 - thanks HungryHobo
- * Console:
- - Don't hide link to configui.jsp for IE any more
- - Add lang selection on configui.jsp
- - Tag strings in configui.jsp
- - Load console_big.css if lang == zh
- - Add _x() tag for static iniitializers
- - HTML transitional input tags
- - Rename cssHelper to intl for ease of tagging
- * Update: Better error message when .sud file not found or truncated
- http://forum.i2p/viewtopic.php?t=3979
- The bug with the file going to the wrong place was fixed a couple months ago.
-
- 2009-10-21 dr|z3d
- * Enhance index.jsp with "paperclips" for the main links
- * Tighten sidepanel layout to gain us some vertical screen real estate
- * Update news.xml with the correct link for Chinese translation page
-
- 2009-10-20 zzz
- * I2NP: Remove old TunnelCreateMessage and TunnelCreateStatusMessage
- * Logger: Don't kill the whole JVM if we can't open the log file
- * MessageHistory: Cleanups
- * NetDb: Move renderStatusHTML to routerconsole
- * Router Console translation infrastructure:
- - Persistent lang setting with routerconsole.lang=xx
- - Loading any page with ?lang=xx changes the persistent setting
- - Add a custom Jetty handler to load foo_xx.jsp if it
- exists for language xx. This is for jsp files with lots
- of text in them. Otherwise use inline translate methods.
- Not for included jsps.
- - Add a script to create and update messages_xx.po translation
- files, and create ResourceBundles from them
- - Add class to translate strings from cached ResourceBundles
- - Add translate wrappers to HelperBase, FormHandler, and *Renderer,
- so calls can be made from both jsp and java files
- - Add example translations on configupdate.jsp - two in
- the jsp itself and one in the helper.
- - This is for strings in routerconsole only. Will be expanded
- to other webapps and the router later.
- * summarynoframe.jsp:
- - Refactor to SummaryBarRenderer (saves 100KB)
- - Add translate tags
- - Use context RNG for nonces
- - Transitional HTML style for input tags
- * TunnelDispatcher: Drop messages that expire far in the future
- * TunnelPoolManager: Move renderStatusHTML to routerconsole
-
- 2009-10-16 dr|z3d
- * Extensive UI whitespace cleanups and positional finessing.
-
- 2009-10-16 zzz
- * Crypto: Two more test classes out of the lib
- * FloodfillMonitor: Slow down the volunteers again
- * i2psnark: Add TPB tracker
- * NetDb: Rework part 1 of N:
- - Flood only to those closest to the key
- - Java 5 fixups
- * oldconsole.jsp: Remove almost all of it, add lines for tino
- * ProfileOrganizerRenderer:
- - Move to routerconsole
- - Write directly to Writer for speed
- * Router: Add router.hideFloodfillParticipant option for testing
- * StatisticsManager: Cleanup after release
-
- * 2009-10-12 0.7.7 released
-
- 2009-10-11 zzz
- * Misc. cleanups after review, prep for release
-
- 2009-10-09 zzz
- * ElGamalEngine: Fix rare AIOOBE (thanks hottuna!)
- * I2PTunnel: Fix persistent client tunnel keyfile location
- * peers.jsp: Fix NTCP rate formatting (thanks hottuna!)
-
- 2009-10-09 dr|z3d
- * Add paste.i2p2.i2p, and echelon's software links to readmes (thanks
- to GoHE for Swedish translations); cosmetic tweaks to same.
- * Various optimizations and tweaks to all 3 themes.
-
- 2009-10-07 zzz
- * Doc and eepsite_index updates
- * UDP: Remove port number from thread names
-
- 2009-10-04 zzz
- * i2psnark: Fix NPE caused by last checkin (thanks wuxia!)
-
- 2009-10-02 zzz
- * BuildMessageTest: Move out of the lib
- * i2psnark: Fix changing opentracker list
- * Makefile.gcj: fixups
- * OCMOSJ: Fix SKM NPE on closed dest
- * ProfileOrganizerRenderer: static tweaks
- * SusiDNS: HTML transitional fixes, might help opera
- * Tunnel IVValidator: Increase size of bloom filter
- for high-bw routers (>= 512KBps share bw) to reduce
- false positive rate. Adds 2MB heap for >= 512KBps routers
- and 6MB for >= 1536KBps.
-
- 2009-09-21 sponge
- * fixups to SlackBuilds. requiredbuilder does the wrong thing, and
- thinks that java is perl! This isn't really a big deal,
- the file format is simple enough and the requirements are known.
-
- 2009-09-07 mkvore
- * removes a SAM v1&2 bug
-
- 2009-09-04 zzz
- * SessionKeyManager, OCMOSJ, Garlic:
- - Enable per-client SessionKeyManagers for better anonymity
- - tagsDelivered() now means tags are sent, not acked.
- - OCMOSJ uses the new TagSetHandle object returned from tagsDelivered()
- to call tagsAcked() or failTags() as appropriate.
- - Assume tags delivered on an established session to
- reduce streaming lib stalls caused by massive tag deliveries;
- should increase throughput and window sizes on long-lived streams
- - Unacked tagsets on a new session are stored on a separate list
- - Don't kill an OB Session just because it's temporarily out of tags
- - Increase min tag threshold to 30 (was 20) due to new speculative
- tags delivered scheme, and to increase effective max window
- - More Java 5 and dead code cleanups, and more comments and javadoc,
- debug logging cleanups
- - Key toString()s for easier debugging
- - HandleGarlicMessageJob: cleanup of unused things
- * Tunnel TestJob:
- - Consume the tag after a failed test so it doesn't
- stay in the SKM
- - Disable tests with router.disableTunnelTesting=true
- * configkeyring.jsp: Add delete and cancel buttons
- * Logging: Fix directory for rotated log
- * TunnelDispatcher: Cleanup
-
- 2009-09-02 sponge
- * Small logic fix for dr|z3d
-
- 2009-08-28 zzz
- * Client: Fail if no date handshake after 30s or no leaseset
- after 5m, rather than hanging forever.
- * Console:
- - Prevent OOMs in NewsFetcher or StatsSummarizer from
- killing the router
- - Fix favicon (-17)
- * Data: Speed up many hashcodes
- * DataHelper: Fix byte array hashcode for small arrays
- * DecayingBloomFilter:
- - Replace with new DecayingHashSet for 3 of 4 uses,
- and also in the 4th if the router is low-bandwidth.
- Saves 8 MB heap.
- * EepGet, I2PSnark:
- - New I2PSocketEepGet fetches through existing tunnels
- rather than through the proxy
- - Use new eepget for i2psnark
- - Add a fake user agent for non-proxied fetches
- - Cleanups
- * NetDb:
- - oops, store leaseset locally even when shutting down
- (fix -16)
- - Java 5 cleanups
- * PRNG:
- - Rename config option to prng.buffers (was router.prng.buffers)
- - Change the default from 16 to 2 for I2PAppContext (saves 3.5MB)
- * Tunnel:
- - Adjust the random drop probability for the message size
- - Concurrentify HashSetIVValidator
- * TunnelPool:
- - Don't test tunnels when shutting down
- - Less rates
- - Java 5 cleanups
-
- 2009-08-24 zzz
- * ClientManager:
- - Prevent client destination theft by rejecting duplicates
- - Java 5 cleanups
- * Console:
- - Put favicon on every page
- - Make every page UTF-8, Γÿâ safe for snowmen
- - Remove options boxes on configtunnels.jsp
- - Fix UTF-8 form submission (i2ptunnel too)
- - Throw 403 instead of 404 from flags.jsp and viewstat.jsp
- so we don't render error.jsp
- * I2CP: Fix the SessionConfig serializer in DataHelper,
- so that UTF-8 tunnel names are not corrupted by
- I2CP and can be displayed on the console
- * Message: Move 2 unused classes out of the router lib (~15KB)
- (more SKM prep)
- * Message, I2PSession, SessionKeyManager, Console:
- Prep for SessionKeyManager work in the router -
- Fix up SKM renderStatusHTML(); add debug.jsp to see it;
- Redefine getClientSessionKeyManager();
- More cleanups
- * Ministreaming: Kill deprecation warnings
- * profiles.jsp: Bulletproofing, less memory usage
- * Streaming, I2PSession:
- Prep for SessionKeyManager work in the router -
- Comment out, deprecate, and javadoc for unused keys and tags,
- they are vestiges of end-to-end crypto
- * Updates: Verify zip at startup before extracting
- * Wrapper: Take a couple fields out of the log so it's narrower
-
- 2009-08-20 zzz
- * Config files:
- - Add some path and encoding help
- * configclients.jsp: Add full path to config file
- * configpeer.jsp: Limit max displayed banned IPs
- * Console:
- - Don't display firewall warning unless it's real
- - Cleanups
- * DataHelper, I2PTunnel, Router:
- - Save config files in UTF-8 rather than the default encoding,
- since we read them in UTF-8!
- * eepsite_index_de.html: localhost -> 127.0.0.1
- * i2psnark: Add size total
- * I2PTunnel:
- - Make IRC Proxy non-shared, delayed-start, close-on-idle
- for new users, for the anonymity benefits (see "Shared Clients,
- Correlation and Collusion" http://zzz.i2p/topics/217 )
- - Remove "experimental" flag on new client options
- * Jetty build: More clean targets
- * jetty.xml: Change encoding to UTF-8
- * jobs.jsp: Cleanup
- * logs.jsp: Add system encoding
- * Ministreaming: Cleanups, deprecation, move demos out of the lib
- * netdb.jsp: Flags for leases
- * NTCP: Clean up clock skew shitlist message
- * profiles.jsp:
- - Rename the Failing column
- - Reduce the time cutoff again to 90m (was 2h)
- * readme*html: localhost -> 127.0.0.1
- * Router: Don't do some things when we are shutting down
- * Shitlist: Clean up expire message
- * Stats:
- - Fix BufferedStatsLog so it works at all
- - Don't instantiate BufferedStatsLog unless stats.logFilters
- property is defined (restart now required to enable logging)
- This eliminates the StatLogWriter thread and a decent
- amount of memory.
- - Move two CLI classes out of the lib
- - Commment out places where getStatLog() isn't checked for null
- - Cleanups
- * Transports: Lower conn limit factor to 50 (was 60)
- * Update:
- - Fix problems where a requested unsigned update would actually
- kick off a signed update
- - Fix problem when policy set to notify, and clicking
- check for update, incorrectly causing unsigned update download
- and bad messages
- - Verify zip integrity of unsigned updates
- - Move zip files to router dir, not base dir
- - More tweaks and cleanup
- * VMCommSystem fixups
- * WorkingDir: Ensure modified files are processed with UTF-8 encoding
- * XmlPull: Remove, unused.
-
- 2009-08-19 sponge
- * Java code to set Router Console password for dr|z3d
-
- 2009-08-18 dr|z3d
- * Fixes for sidepanel
- * Overhauled classic theme for i2ptunnels
- * First stage of code validation to fix broken and "illegal" code
- * Multifarious other UI tweaks and fiddles.
-
- 2009-08-15 sponge
- * Merge in dr|z3d and my own html fixes for router console java and jsp
- files so that Opera (and now IE?) doesn't puke anymore on the missing
- and misplaced HTML tags.
- * Optimized all jsp files so that they are shorter to save space, which
- is then used to fix the broken HTML. We should break even space-wise.
- * Bump to -13.
-
- 2009-08-11 sponge
- * Code Janitor time! Many fixes and documenting fixes that should be
- done in the future. for the most part, this is a general code cleanup.
- * On smaller/embedded systems, the "final" keyword cleanups will have
- more of an impact than on larger systems.
- * Document missing hashCode() methods.
- * Unhide more variables to make code easier to read.
-
- 2009-08-11 zzz
- * Android:
- - Merge in the branch
- - Build instructions in the android/ dir
- - Rename HMac to I2PHMac to avoid android lib conflicts
- - Configurable number of PRNG buffers in AsyncFortunaStandalone
- (router.prng.buffers=16) to control memory use - these
- are 256KB each.
- - Configurable size of the DecayingBloomFilters
- (router.decayingBloomFilterM=23) to control memory use - there
- are 4 pairs of these (8 total), each 2**(M-3) bytes,
- or 8MB total for M=23.
- - There's at least two unsolved fatal problems:
- 1) Most of the routerinfo signature verifications fail,
- including our own
- 2) It randomly dies after a while
- * Console:
- - Rename the shitlist and the blocklist
- - Try to reduce servlet problems on iframe
- - Select server or client icon for local dests
- * EepHead: New
- * Move StatsGenerator from router to routerconsole
- * Move the unused AdminManager from router to the apps directory
- * NetDb stats: Hide part. tunnel total events, effective next release
- * Router: Comment out dead oldconsole code
- * Updater:
- - Add new unsigned update option, triggered by
- last-modified date, using the new EepHead.
- Buttons still are not hidden after download complete.
- - Make the .sud updater use the temp dir when proxied
- - Several cleanups
-
- 2009-08-11 dr|z3d
- * Extensive sidepanel overhaul
- - Ensure all sidepanel headings link to pertinent pages
- - First stage of enhanced Local Destinations sub-panel presentation
- - Move Configuration, Help, and I2PTunnel manager links to headings
- - Add tooltips to all linked content; table content next in line
-
- 2009-08-07 dr|z3d
- * summarynoframe.jsp
- - Main content now tabulated for better presentation
- - Headings now more prominent
- - Pruning where necessary of text strings
- * Console themes (light/dark/classic)
- - Ensure functionality with new sidepanel layout
- - Custom hacks for IE/classic
- - Enhanced form/button presentation
-
- 2009-08-07 zzz
- * build.xml:
- - Try to automate the release process
- - Take jetty back out of the updater after 4 releases
- * Console:
- - Add a custom error page
- - Don't count ourselves in known peers
- - Hide update button when shutting down
- - Increase skew warning threshold to 3s (was 100ms)
- - Remove UTC time from summary bar
- - Truncate long dest names
- - Try to reduce servlet problems on index page
- * Core:
- - Catch unzip fd leaks on error
- - Move 2 test classes out of the lib
- * Eepsite:
- - Quote the jetty.xml path in clients.config,
- and adjust the migration function, to fix the
- eepsite-won't-start bug on windows
- * HTTP Proxy:
- - Restore the localhost error message
- - Catch 127.0.0.1:xxxx addresses too
- * I2PTunnel:
- - Move the privkey files from the app dir to the
- config dir, in preparation for splitting the two
- dirs by default
- * Ministreaming:
- - Make getInt() static
- - Move the big TestSwarm class out of the lib
- * NetDb stats: Post-release cleanup
- * PersistentKeyRing: Fix broken storage of keys in config file
- * Router: Move the WorkingDir class from i2p.jar to router.jar
- * Streaming: New option i2p.streaming.answerPings (default true)
- * Timestamper: Don't start thread if not enabled
- * Wrapper:
- - Extend timeout to 20s (was 5s)
- - Shorten ping interval to 5m (was 10m)
-
- 2009-08-03 dr|z3d
- * Extensive update to the Classic theme; custom css hacks for IE.
-
- 2009-08-02 dr|z3d
- * Better support for Internet Explorer/classic theme.
- * Incremental improvements to classic theme.
- * More UI tweaks and fiddles.
- * Fixes for I2PSnark UI; more to come.
-
- 2009-07-31 dr|z3d
- * Resolve anomalous buttons and text fields in console ui.
- * Enhance presentation of data in /peers.jsp.
- * Fix themes issue with horizontal width of radio/checkbox icons.
- * Other cosmetic UI enhancements.
-
- * 2009-07-31 0.7.6 released
-
- 2009-07-31 zzz
- * Update versions, package release
- * Fix snark.css link
- * Revert graph antialias enable
- * Remove <center> from iframe head
- * Fix tunnels.jsp HTML
- * Prevent linux-only installer screen from displaying on windows
-
- 2009-07-28 zzz
- * Add new reseed URL (thanks eche|on!)
-
- 2009-07-27 zzz
- * Add flag dimensions to speed up profiles.jsp rendering
- * Catch i2psnark create torrent with no data entered error
- http://forum.i2p/viewtopic.php?t=3763
- * Fix typos in proxy error files
-
- 2009-07-26 zzz
- * Add wrapper.config and i2prouter comments for 'portable'
- * Recognize same base and config dir in WorkingDir
- * Reformat XInfoPanel in installer for clarity
-
- 2009-07-25 dr|z3d
- * Enhance the layout of /graphs.jsp
- * Fix some of the irks in I2PSnark UI.
- * Ongoing tweaks and fiddles to the themes' css. Not finished by any means!
-
- 2009-07-24 zzz
- * Eepsite: Add Deutsch index page and css (thanks sperrbezirk!)
- * Router: Support i2p.dir.base and i2p.dir.config passed in via properties
- * Throttle: Decrease default max tunnels to 2500
-
- 2009-07-23 dr|z3d
- * Include additional tile graphics and I2PSnark header logo in /console/images/
- * Tidy up some layout irks; add some last minute 0.7.6 pre-release sparkle!
- * Ongoing overhaul of the I2PSnark UI.
-
- 2009-07-23 sponge
- * Add bob.i2p and sponge.i2p keys to hosts.txt
-
- 2009-07-23 sponge
- * Fix jdk 1.6izm in BOB as per zzz
-
- 2009-07-22 dr|z3d
- * More work on the I2PSnark UI.
- * Start of improvements to tunnel table data.
- * Ongoing theme enhancements.
-
- 2009-07-21 dr|z3d
- * First stage of overhaul of webapps ui.
- susidns, susimail & i2psnark now lightly themed.
- * Proxy error messages now themed as per chosen theme.
- * Modest tweaks to the classic theme, et al.
-
- 2009-07-21 zzz
- * configclients.jsp: Close anchor
- * Console: Drop top-level css, unused now
- * Eepsite: Add default robots.txt (thanks v1v4)
- * GeoIP: Add license info
- * HTTP Proxy: Additional proxy.i2p restrictions
- * ServiceManager: Drop, unused
-
- 2009-07-20 zzz
- * BuildHandler: Increase threshold for dropping instead
- of rejecting to 81% (was 75%)
- * Console: Hide configui.jsp from IE, disable selection
- * GeoIP: Fix minor bugs (thanks Arsene)
- * graphs.jsp: Reduce refresh time to eliminate double iframe load
- * HTTP Proxy: Fix proxy.i2p "home page" (thanks dr|z3d)
- * I2PSnark: Remove Postman tracker
- * Peer Profiles:
- - Reduce max age for display to 2h (was 3h)
- - Drop unused Persist classes
- - Dynamically adjust expire time to control memory use
- - Increase reorganize time to 45s (was 30s) to reduce CPU use
- and lock contention
- - Remove some stat rates
- - Delay start of PeerTestJob
- * Stats: Increase coalesce time to 50s (was 20s) to reduce CPU use
- * summarynoframe.jsp: Cleanup
- * Transports: Reduce the number of Rates
-
- 2009-07-16 zzz
- * HTTP Proxy: Themes for error pages
-
- 2009-07-16 sponge
- * ministreaming:
- - small pedantic fix
- * streaming:
- - Fix a deadly race condition.
- - Some small pedantic fixes.
- * core:
- - Fix a deadly race condition.
- * BOB:
- - Fixed some races that occured from fixing races in streaming and core.
- - Some badly needed code refactoring to depend less on the database.
-
- 2009-07-15 zzz
- * Console:
- - Make light the default theme
- - Convert readme_zh.html from GB2312 to UTF-8
- * Installer: Don't launch the router from the postinstall.sh script
- on linux anymore; add a panel to the installer to provide launch instructions.
-
- 2009-07-15 sponge
- * Slackware SlackBuild fixes.
-
- 2009-07-14 dr|z3d
- * Increment to 0.7.5-10
- * Tidy up layout of readme.* files.
- * Work on console css to make it more Opera/webkit friendly.
- * Other cosmetic tweaks.
-
- 2009-07-13 zzz
- * Build: Add readme*.html files to the udpater
- * Build Handler: Don't reject for conn limits if class O,
- under the assumption that they are already talking
- to most of the routers, so there's no reason to reject. This may drive them
- to their conn. limits, but it's hopefully a temporary solution to the
- tunnel build congestion. As the net grows this will have to be revisited.
- * Throttle: Increase default max tunnels to 3000,
- to give us more capacity during congestion
- * Tunnels: Change the default variance from 1 to 0.
- Under the one-packet-enough theory, and the fact that most
- tunnels in a x+1 pool are of length x, variable lengths
- don't really help that much. Also, a default of 1 led
- to all sorts of problems with iMule/SAM, who was not
- setting the variance properties.
- This will affect exploratory tunnels for new users,
- and those that have never saved a change on configtunnels.jsp,
- and iMule users 1.4.5 and earlier.
-
- 2009-07-12 zzz
- * Add configui.jsp
- * orange flash remove take 2
-
- 2009-07-11 zzz
- * netdb.jsp: Fix bad tag causing orange mouseovers
-
- 2009-07-11 dr|z3d
- * More enhancements to the router console, consolidation of the
- light and dark themes.
- - Apply new themes with routerconsole.theme=light/dark/classic
- added to advanced config.
-
- 2009-07-11 zzz
- * Build Handler: Drop rather than reject requests when near
- conn limits and the next hop is not connected, to reduce
- connection congestion
- * Console: Force IE to the classic theme
- * I2PSnark:
- - Bring back details links for Postman2 B64 torrents
- * I2PTunnel:
- - Make reduce-on-idle the default for all the shared clients
- for new installs (15m)
- * Profile Organizer:
- - Allow NTCP-only peers in inbound tunnels
- * Transports:
- - Move from a single connection limit threshold (80%) to
- two (75% and 87%), and only start rejecting tunnels
- at the higher threshold, to increase build success
- - Move some limit methods from the transports to TransportImpl
- - Add limit methods with a threshold argument
- - Increase default SSU conn limits a little more
-
- 2009-07-07 dr|z3d
- * Introducing 2 new console themes (light & dark), in addition
- to changes to the console navigation; navbar now resides in
- the sidepanel and other stuff besides. More to follow!
-
- 2009-07-06 zzz
- * Console: Fix small textareas on Opera
- * EepGet: Don't send X-Accept-Encoding for non-proxied fetches
- * HTTP Proxy: Limit proxy.i2p to /themes/ directory
- * I2PSnark:
- - Change postman2 announce URL to use hostname rather than B64
- - Shorten torrent name to fit better on one line
- * I2PTunnel:
- - Add edit text
- - Fix broken favicon
- * Move almost all uses of StringBuffer to StringBuilder,
- for efficiency (thanks Arsene for the suggestion)
- * Reseed:
- - Fix console status messages broken by global replace
- - Remove tino, add b.netdb.i2p2.de
- * SSUDemo: Move to the router/java/test directory
- * Startup: Log clients.config problems
- * Transport: Implement NTCP auto-transition from an
- address to no address, so that inbound NTCP is disabled
- after SSU detects a firewall. When UPnP was apparently successful
- but the router is still firewalled (due to an additional
- software firewall or a bad UPnP indication, for example)
- the router will now remove the NTCP address.
-
- 2009-07-05 sponge
- * Added X-I2P-DestB64 and X-I2P-DestB32 http headers
-
- 2009-06-29 zzz
- * Big directory rework:
- Eliminate all uses of the current working directory, and
- set up multiple directories specified by absolute paths for various uses.
-
- Add a WorkingDir class to create a user config directory and
- migrate certain files to it for new installs.
- The directory will be $HOME/.i2p on linux and %APPDATA%\I2P on Windows,
- or as specified in the system property -Di2p.dir.config=/path/to/i2pdir
- All files except for the base install and temp files will be
- in the config directory by default.
- Temp files will be in a i2p-xxxxx subdirectory of the system temp directory
- specified by the system property java.io.tmpdir.
-
- Convert all file opens in the code to be relative to a specific directory,
- as specified in the context. Code and applications should never open
- files relative to the current working directory (e.g. new File("foo")).
- All files should be accessed in the appropriate context directory,
- e.g. new File(_context.getAppDir(), "foo").
-
- The router.config file location may be specified as a system property on the
- java command line with -Drouter.configLocation=/path/to/router.config
- All directories may be specified as properties in the router.config file.
-
- There will be no migration from an existing installation
- unless the system property -Di2p.dir.migrate=true is set.
- If there is no migration, it will continue to use $I2P for all files,
- except for temporary and PID files.
-
- The following linux scripts are now customized with the install path at,
- installation, and may be moved to /usr/local/bin and run from any
- working directory:
- eepget, i2prouter, runplain.sh
-
- For new installs, the i2p base directory ($I2P) may be read-only
- if updates are disabled. The only time i2p should write to the base directory
- is to unzip the update file. Updates are downloaded to the config dir. If, upon
- restart, the base dir is not writable, it will log a message and continue.
-
- Additional information, copied from I2PAppContext:
-
- # Directories. These are all set at instantiation and will not be changed by
- # subsequent property changes.
- # All properties, if set, should be absolute paths.
- #
- # Name Property Method Files
- # ----- -------- ----- -----
- # Base i2p.dir.base getBaseDir() lib/, webapps/, docs/, geoip/, licenses/, ...
- # Temp i2p.dir.temp getTempDir() Temporary files
- # PID i2p.dir.pid getPIDDir() router.ping
- # Config i2p.dir.config getConfigDir() *.config, hosts.txt, addressbook/, ...
- #
- # (the following all default to the same as Config)
- #
- # Router i2p.dir.router getRouterDir() netDb/, peerProfiles/, router.*, keyBackup/, ...
- # Log i2p.dir.log getLogDir() logs/
- # App i2p.dir.app getAppDir() eepsite/, ...
-
- * Note that the router can't control where the wrapper actually puts its files.
-
- All these will be set appropriately in a Router Context.
- In an I2P App Context, all except Temp and PID will be the current working directory.
-
- Related changes:
- i2prouter:
- - Don't cd to script location, no longer required
- jbigi, cpuid:
- - Extract files from jar to temp dir, load from that dir, then
- copy to the base dir if we have permissions (and failing silently
- if we don't), so we have optimized libs and no complaints
- when we have a read-only base dir.
- logs.jsp:
- - Get wrapper log location from a property too
- - Display log file locations
- RouterLaunch:
- - If no wrapper, put wrapper.log in system temp dir
- unless specified with -Dwrapper.logfile=/path/to/wrapper.log
- or it already exists in CWD (for backward compatibility)
- - Append rather than replace wrapper.log
- - Pass wrapper log location to router as a property, so that logs.jsp can find it
- runplain.sh:
- - Add path substitution to runplain.sh on install
- - Pass I2P base dir to the router as a property
- Systray:
- - Fix NPE if no config file
- wrapper.config:
- - Put wrapper.log in system temp dir for new installs
- - Pass I2P base dir to the router as a property
-
- 2009-06-29 zzz
- * HTTP Proxy:
- - Add simple web server for "proxy.i2p" to serve
- images and CSS for the error pages
- - Take CSS out of the error pages; use internal server
- for CSS, image, and favicon
- * i2psnark build:
- - Move FetchAndAdd to static inner class
- - Fix standalone build to include i2psnark.jar since classes
- aren't in the .war anymore
- - Have standalone jetty use I2PAppContext temp directory
- - Replace launch-i2psnark.jar with launch-i2psnark script,
- since RunStandalone is in i2p.jar
- - Clean up jetty-i2psnark.xml, turn off jetty logging
- - Remove standalone build from the pkg target in the main build.xml
- * Jbigi, CPUID:
- - Reduce memory demand on startup from 4MB to 4KB each
- * NetDb: Fix an NPE on early shutdown
- * Reseeding / NetDb:
- - Move reseeding from the routerconsole app to
- the router, so that we can bootstrap an embedded router lacking a routerconsole
- (iMule or android for example), without additional modifications.
- This allows better integration between the reseeding function
- and the netDb.
- - Call reseed from PersistentDataStore, not from the
- routerconsole init, and start seeding as soon as the netdb has read
- the netDb/ directory, not when the console starts.
- - Wake up the netdb reader as soon as reseeding is done,
- rather than waiting up to 60s.
- - Don't display the reseed button on the console until the
- netdb initialization is done.
- * RouterConsoleRunner:
- - Catch a class not found error better
-
- 2009-06-29 zzz
- * Console: Convert table headers to <th> to prep for CSS changes
- * Console CSS: Move css file, make a classic theme to prep for CSS changes
- * Console: Move favicon.ico and i2plogo.png out of the .war
- so that the HTTP proxy can use them directly;
- proxy error pages must be updated next
- * NetDb stats: Normalize tunnel build stats for increased anonymity,
- effective in 0.7.6
-
- 2009-06-30 sponge
- * General cleanup on streaming and ministreaming.
- This fixes some compile warnings, and prepares for a larger fix.
- There is no code-flow changes, just lint. One warning remains as I am
- unsure exactly how to solve the problem yet.
-
- * 2009-06-29 0.7.5 released
-
- 2009-06-29 Complication
- * Update versions, package release
- * Remove the last reference to my eepsite as a "news.xml" source,
- and likewise stop my public key from being included
- among valid release signing keys.
-
- 2009-06-25 sponge
- * Summary frame layout change so it makes sense.
-
- 2009-06-23 zzz
- * Browser Launch: Add sensible-browser, x-www-browser, defaultbrowser, and
- www-browser in an attempt to launch the user's preferred browser
- * configupdate.jsp: Cleanup
- * Installer: Include console.css!!!
- * NTCP: Try again to prevent two Event Pumpers
- * Update: Increase max retries
- * UPnP: Catch AIOOBE reported by tuna
-
- 2009-06-21 zzz
- * Browser Launch: Wait until the routerconsole is up before launching the browser
- * Installer: Fix wrapper.config parsing on windows
- * netdb.jsp: Add country chart at bottom, clean up version chart
- * News Fetcher:
- - Change default news URL, use it instead of the old one even if
- the old one is saved in the configuration, to assist in the transition
- * ReseedHandler:
- - check for upper case HREF to be compatible with apache indexes
- * Statistics Manager: post-0.7.4 cleanup
- * Transport: Treat 5.0.0.0/8 (Hamachi) as local
-
- 2009-06-17 Mathiasdm
- * desktopgui:
- - Added client and server tunnel view
- (saving does not work yet)
-
- 2009-06-17 zzz
- * PeerSelector:
- - Limit exploratory tunnels to connected peers when over
- half the connection limit (was 80%)
- - Have the high capacity tier fall back to a new connected tier
- before moving on to the not failing tier
- so that tunnel build success doesn't collapse and drive
- connections to the limit
- * PeerTestJob:
- - Limit to connected peers
-
- 2009-06-12 zzz
- * Console:
- - Move the console css from default.css in the .war to docs/themes/console/console.css,
- and support console themes in the main console with routerconsole.theme=foo
- - Remove unused NoticeHelper
-
- * Installer:
- Upgrade to izpack 4.3.0 and add a short script to fix Vista install problems.
- (previous izpack was 3.7.2 from 2005-04-22)
-
- izpack 4.3.0 from :
- http://dist.codehaus.org/izpack/releases/4.3.0/IzPack-install-4.3.0.jar
- SHA1 f06da6b26ac2c68fed64ab38980352989b8d8841
- (no signatures or sha1sums found on website, and the jar is unsigned)
- License: Apache 2.0
-
- upack izpack:
- java -jar IzPack-install-4.3.0.jar
- or
- java -jar IzPack-install-4.3.0.jar -console
-
- get the standalone-compiler.jar from the installation lib/ directory:
- SHA1 6d2b4a5657bfb864a333b1c4b1c0f8223aa57d80
- (no signatures or sha1sums found on website, and the jar is unsigned)
-
- This fixes the bug with the install windows centered in all the
- workspaces, not the current workspace. And who knows what other
- bugs in the last 4 years.
-
- To fix Vista (and presumably Windows 7) permissiom problems,
- add a run-privileged flag for those, and run the new fixperms.bat
- which calls icacls to add the privileges to the install directory.
-
- Add support for 6 more language packs found in the new release.
- Change from ISO3 codes to native language names.
-
- Disable creation of the i2p.tar.bz2 file in build.xml
- (distributed as i2pheadless-0.7.x.tar.bz2), as izpack 4.3.0 now
- supports headless installation with java -jar i2pinstall.exe -console.
- Update INSTALL.txt and INSTALL-headless.txt accordingly.
-
- - Add install and temp path substitution to wrapper.config and
- i2prouter on install
-
- - Change the wrapper.config classpath to one line: lib/*.jar
- This means we lose control of classpath load order, so move the windows installer
- jars copy.jar, delete.jar, and exec.jar to a new installer/ directory so
- these jars won't be in the classpath or potentially conflict, since
- copy.jar and delete.jar include FileUtil.class, and we don't want to have
- to remember to add them to the updater if we ever change FileUtil.class.
- Delete the installer/ directory in postinstall.sh since it is windows-only.
-
- * Watchdog: Only try to dump threads if there is a wrapper
- and we aren't on windows
-
- * 2009-06-12 0.7.4 released
-
- 2009-06-12 Complication
- * Update versions, package release
-
- 2009-06-09 zzz
- * NTCP: Fix startup race NPE (thanks postman!)
-
- 2009-06-08 sponge
- * Last commit for this cycle. All debugging except for WARN removed.
- I can use the visit command to debug now anyway.
-
- 2009-06-08 sponge
- * Removed BOB debugging as-per zzz
-
- 2009-06-08 sponge
- * Fixed NPE and some other goofups in BOB.
- * BOB bump version
-
- 2009-06-07 zzz
- * Build file:
- - Add updaterWithJettyFixesAndGeoIP, use it in pkg for one release
- - Cleanups
- * Console:
- - netdb.jsp cleanup
- - tunnels.jsp cleanup
- * ExploratoryPeerSelector:
- - Limit to connected peers when near connection limit
- * Timestamper:
- - Use locale country if geoip unavailable
- * Transport:
- - Lower min NTCP idle time to 3m (was 5m)
- - Increase SSU conn limit by 33%
- * UPnP: Fix deprecation warning
- * Watchdog:
- - Defang him again
-
- 2009-06-06 sponge
- * Added BOB's license to licenses
- * Janitorial javadoc fixes *sigh*
- * bump to -13
-
- 2009-06-05 sponge
- * Merge and bump to -12
-
- 2009-06-05 sponge
- * BOB now cleans up tunnels, although they can take up to 5 minutes to
- disapear. This is due to the fact that the streaming lib doesn't
- actually remove the connections properly and kill them off when the
- manager is destroyed. I'm not certain if this is a bug, or a feature,
- but it sure is annoying, and you have to wait for the connections to
- time out. What should happen is the streaming lib should cause an IO
- error to the pending read or write.
-
- 2009-06-05 zzz
- * Build file:
- - Add license info for launch4j includes
- * Console:
- - 16x11 transparent flags for ch and np, thanks anonim!
-
- 2009-06-04 zzz
- * Console:
- - Update geoip file to June 3 version
- - Hide some controls if no wrapper on configservice.jsp
- * I2PTunnel:
- - Fix bug where delayed-open and close-on-idle tunnels would
- use a different tunnel pool instead of building their own
- - Add standby indication to web page
- * NetDb:
- - Try to talk directly to a floodfill if we don't know enough,
- to help integrate more quickly
- - Change a no-floodfill error to a warn
- * NetDb Stats:
- - Average TX and RX bw stats for additional anonymity,
- effective in next release
- * Reseed:
- - Limit to 200 pulled randomly from the full fetched list
- * Transport:
- - Increase default bw for new installs to 96/40
- (was 64/32). This is as high as we can go upstream
- without making the default class M.
- * Watchdog:
- - Allow disabling by property again
- - Logging tweaks
-
- 2009-05-30 zzz
- * Console:
- - config.jsp now cause graceful restart
- - More peers.jsp and profiles.jsp cleanup
- - tunnels.jsp improvements
- - Use CSS for form messages
- - Goodbye nonce spoof messages (sorry jr)
- - config.jsp: Comment out unused burst config code
- - Don't forget Serbia!
- - configadvanced.jsp cleanup
- * LoadTestManager: Delete, unused
- * Peer Selector: Make strict order opaque to hash value
- * SendGarlicMessageJob: Delete, unused
- * Session Keys:
- - Don't instantiate unused SessionKeyPersistenceHelper
- - Use TransientSessionKeyManager instead of PersistentSessionKeyManager
- - Add generics to TransientSessionKeyManager to help understand it
- - Change initial session map size to 64 (was 1024)
- - Prepare for per-destination SessionKeyManagers in ElGamalAESEngine
- - More stubs for per-destination managers in the client manager
- * Transports:
- - Adjust bids when near conn capacity
- * UDP:
- - Remove unused stats and test code
- - Only save IP when it changes
- * UPnP:
- - Prevent NPE after ParserException
- - Tweak to help startup problems?
- - Retry port forward if it fails
- - Make peers.jsp display faster
- - Lengthen POST timeout
- - More comments
-
- 2009-05-29 sponge
- * added big fat start/stop lock into BOB
- * added zap command to shut down BOB... now we need a way to start it
- after it stops. :-)
-
- 2009-05-27 Mathiasdm
- * Increase sendProcessingTime some more, add a property to configure.
- Configure with 'router.defaultProcessingTimeThrottle'.
-
- 2009-05-27 Mathiasdm
- * Increased sendProcessingTime limits and added testSuccessTime
- to avoid unwanted throttling
-
- 2009-05-26 Mathiasdm
- * Throttling extension by looking at sendProcessingTime
-
- 2009-05-26 zzz
- * Console:
- - configlogging.jsp cleanup
- - Flags tweak
- * NetDb:
- - Don't send our own hash in the don't-include list when exploring
- - Remove any pending write when removing a RouterInfo
- - Cleanup to use routerHash()
- * Streaming: Hopefuly fix infinite loop in the SYN queue handler
-
- 2009-05-25 zzz
- * GeoIP:
- - Save our own location in the config
- - Check whole netDb at startup (last try didn't work)
- * NTCP:
- - Increase routerinfo send frequency to every 90m (was 9h)
- - Don't send 3 floodfill infos at startup or with routerinfo
- * Profile Organizer: Increase min fast peers based on
- number of local destinations
- * Timestamper:
- - Use GeoIP to query a closer ntp source if available
- - Lengthen query time if well-synced
- - Cleanup
-
- 2009-05-24 mkvore
- * SAM: logging some exceptions at INFO level instead of ERROR
-
- 2009-05-24 zzz
- * Connection limits / throttle:
- - Better limits when no inbound TCP
- (limit inbound and outbound separately)
- - Don't offer to SSU introduce when near connection limit
- * Console:
- - Move flags from icons/ to docs/icons
- - peers.jsp cleanup
- - Add readme_zh.html
- * GeoIP:
- - Check netDb SSU IP too
- - Check whole netDb at startup
- * NTCP: Log who is sending us big messages
- * UPnP: Move logging from wrapper log to router log
-
- 2009-05-23 Mathiasdm
- * Router netDB:
- - Added flags to the netDB page
-
- 2009-05-22 Mathiasdm
- * desktopgui:
- - Updating works in general config
- - Switched to Swingworker threads for improved responsiveness
-
- 2009-05-21 zzz
- * Router Watchdog:
- - Log memory stats
- - Dump threads on linux
- - Restart after 20 minutes (give the dog his teeth back)
-
- 2009-05-21 zzz
- * DataStore:
- - Adjust interface to have persistent and non-persistent methods,
- to prepare for partial storage in RAM
- * ExpireRoutersJob:
- - Rewrite, not enabled yet
- * I2Punnel:
- - Increase eepsite default to 3+0 for new installs
- * PersistentDataStore:
- - Cleanup, simplify, and concurrentify
- - Tweak stats
- - Remove write limit
- - Flush to disk on shutdown
- - Don't write out what we just read in
- * Router and console:
- - Bundle geoIP files and flags in new installs,
- spiff up tunnels.jsp and profiles.jsp.
- Existing installs can get files with 'ant updaterWIthGeoIP'
- or in the console docs bundle 'ant consoleDocs'
- - Use flags for shitlist and peers.jsp too
- - Tweak tunnels.jsp to show class letters
- - Hide in-progress details on tunnels.jsp
- - Add a little color to confignav
- - Remove 'no skew' message
- - More message tweaks if no wrapper
- * TunnelManager:
- - Remove now-unused isInUse()
- * UPnP:
- - Fix up port binding, add some logging on bind fails
- - Force IPv4 only for binds
-
- 2009-05-20 Mathiasdm
- * General configuration enabled by default
- * General configuration speed tab works completely
-
- 2009-05-17 zzz
- * Merge i2p.i2p.zzz.upnp branch
- * Major changes:
- - Detect IP with UPnP
- - Open firewall ports with UPnP
- - Detect IP by checking local interface addresses
- - Enable TCP auto-IP and auto-port by default, if UDP status is "OK"
- - Network configuration page rework
- * Other stuff:
- - Remove unused verifyupdate.jsp
- * Details of the UPnP and related Transport changes:
- - Add UDP Port configuration to config.jsp
- - Don't restart router when configs change on config.jsp;
- simply rebuild router info.
- - Clean up some port config code in UDP
- - Implement UPnP enable/disable
- - Start to rework inbound configuration
- - Tweak UPnP warning messages
- - Start of callbacks from UPnP to transports
- - Tell UDP local addresses at startup
- - NTCP Port must now be either auto or configured;
- now defaults to auto; and configured now trumps auto.
- Port configuration now does not affect whether inbound
- NTCP is enabled - the host configuration alone can do that.
- - i2np.ntcp.autoip=true redefined to enable inbound only if
- SSU reachability is OK. i2np.ntcp.autoip=always for the old behavior.
- autoip default is now "true".
- i2np.ntcp.hostname=xxx now trumps i2np.tcp.autoip.
- - SSU always tells NTCP when status changes.
- - Implement config save of new IP address options
- - Implement local address and UPnP configuration of UDP address
- - Limit received port to 1024 minimum
- - Simplify bw form
- - Add config link to UPnP status
- - Make short timeouts for UPnP HTTP POST so we don't hang when
- the UPnP device goes away
- - Fix a bug in UPnP HTTP Server timeout
- - Make short timeouts for the XML parser so we don't hang when
- the UPnP device goes away - same as for HTTP POST
- - Stuff the port mapping requester into a thread so it doesn't
- delay everything for several seconds
- - Handle UPnP devices that return IP = 0.0.0.0
- - Better HTML output when no IP found
- - Tweak logging
- - Set Disposer thread name
- - Keep the control point running after we find an IGD,
- so that we get notifications of it leaving or
- coming back or replaced.
- - Detect UPnP start failure
- - Sort local addresses
- - Store last IP for future laptop mode
- - Subscribe to service, doesn't seem to do anything though,
- need to test it more
- - Change UPnP listener port defaults, allow configuration option
- - Don't notify for non-changed options on config.jsp
- - Simplify config.jsp some more
- - No longer use i2np.udp.forceIntroducers
- - Tweak UDP port qualification
- - Fix allowing low ports again
- - Add option to completely disable NTCP, for those behind nasty firewalls
- - Use SSU reachability rather than global reachability for determining NTCP reachability,
- since we are now reporting NTCP reachability too
- - Tweak the config sub-navbar
- - Don't start UPnP if we have a public interface address
- - Fix setting IP to a local interface address
- - Work on the configuration help some more
- - Rework UDP peers.jsp table a little
- - Don't let UDP bid on messages that are too long
- - Clean up the max fragments code in UDP
-
- 2009-05-17 zzz
- * Build files:
- - Remove unneeded ant.jar from package (900KB)
- - Fail on Jsp compile errors
- * FloodfillVerifyJob: Don't consider an older search result as verified
- * logs.jsp: Add link to config
- * NetDb: Lower the routerinfo expiration again
- * SusiDNS:
- - Reduce displayed entries from 300 to 100
- - Add ability to go forward or back
- - Make textareas bigger
- - Clean up file names
- - Clarify messages about filter and search
-
- * 2009-05-16 0.7.3 released
-
- 2009-05-16 Complication
- * Update versions, package release
-
- 2009-05-12 sponge
- * BOB clean up, change println's to _log.warn, bump BOB version
- * I2PSessionMuxedImpl.java changes as per zzz, and they test OK for me.
-
- 2009-05-12 mkvore
- * SAM: fix: warnings when generating javadoc
-
- 2009-05-11 zzz
- * Connect client: Fix NPE when used with advanced i2ptunnel features
- * Context: Don't instantiate unused AdminManager
- * logs.jsp: Put critical log at the top
- * NetDb: Don't accept stores of our own LeaseSets or RouterInfo
-
- 2009-05-11 mkvore
- * SAM: fix: removed ERROR level logging when a client disconnects
-
- 2009-05-09 sponge
- * merge
-
- 2009-05-09 sponge
- * fixed OOM on lock (woops! my bad!)
-
- 2009-05-08 Mathiasdm
- * desktopgui: moved files to stop polluting the namespace
- (everything now in net.i2p.desktopgui)
- * desktopgui: some variable renaming in general configuration
-
- 2009-05-07 mkvore
- * SAM: version 3 added
- * SAM: blocking case corrected on simultaneous client connection (v.1-3)
-
- 2009-05-07 zzz
- * Add nibble.i2p to proxy list and hosts.txt
-
- 2009-05-07 zzz
- * Addressbook: Name the thread
- * Console:
- - More IE button fixes, try harder to not refresh the iframe after shutdown
- - Disable idle options for streamr client, it will never be
- idle because it pings the server
- * Floodfill Monitor: Slow down the volunteers
- * Throttle: Throttle at 90% so we throttle before we WRED
-
- 2009-05-06 Mathiasdm
- * Improvements to popup menu rightclick action
- * Added general configuration options (still not available by default)
- * General fixes
- * Added ant build options (irc says eche|on would like that ;))
-
- 2009-05-06 sponge
- * Hopefully the last fixes for BOB.
- * Fixes to prevent race in client-side I2CP and Notifier.
-
- 2009-05-03 sponge
- * More hopeful fixes for BOB.
- * Added new Robert ID to snark
-
- 2009-05-01 zzz
- * Build files:
- - Fix up susidns build file so it will work with gcj
- - Add consoleDocs target
- * Client: Fix race NPE (thanks sponge)
- * Console: fix ERR-UDP Disabled and Inbound TCP host/port not set
- * I2CP: Fix race NPE
- * I2PTunnel:
- - Try to fix locking to prevent duplicate destinations when using
- the new option new-dest-on-resume. Still not right for shared clients
- but should be better for non-shared.
- * Router console:
- - Add jbigi and cpu info to logs.jsp
- * Session key manager:
- - Log before a hang maybe
- * URL Launcher:
- - Launcher on linux was stopping after trying opera, whether it succeeded or failed.
- Now it keeps going to try firefox, etc. as designed.
- - Extend default delay from 5s to 15s so it will reliably start
-
- 2009-04-27 sponge
- * more BOB fixes, complete with warnings when things go wrong, and
- success messages when things turn around and go right. Terminates
- early so that applications wait no more than 10 seconds or so.
- * Reversed a few earlier patches that caused some odd behavior.
- * Changed some core println()'s to debugging messages.
-
- 2009-04-27 zzz
- * Build files:
- - New updaterWithJettyFixes target, build it for pkg
- - Pass compiler args down from top build.xml
- * GarlicMessageBuilder: Reduce bundled tags to 40 (was 100)
- * i2psnark: Add Postman2 tracker
- * I2PTunnel: Allow spaces in dest and proxy lists
- * NetDb:
- - Adjust RouterInfo expiration down to control memory usage
- - Display LeaseSets and RouterInfos on separate console pages
- * NTCP:
- - Correct the meanings of the i2np.ntcp.autoip and i2np.ntcp.autoport
- advanced config. If you have one of these set but not the other, you
- will have to adjust your configuration on config.jsp.
- * RouterConsole: iframe tweaks
- * StatisticsManager: Cleanup
- * Streaming: Don't let jrandom yell so loud
- * Tunnel Pool: Don't self-destruct if more than 6 IB tunnels configured
-
- 2009-04-25 sponge
- * I2PSessionMuxedImpl atomic fixes
- * BOB fixes. This should be the final bug wack. Good Luck to everybody!
-
- 2009-04-23 zzz
- * Blocklist: cleanup
- * eepget: handle -h, --help, bad options, etc.
- (http://forum.i2p/viewtopic.php?p=16261#16261)
- * Fragmenter: don't re-throw the corrupt fragment IllegalStateException,
- to limit the damage - root cause still not found
- * i2psnark: (http://forum.i2p/viewtopic.php?t=3317)
- - Change file limit to 512 (was 256)
- - Change size limit to 10GB (was 5GB)
- - Change request size to 16KB (was 32KB)
- - Change pipeline to 5 (was 3)
- * logs.jsp: Move version info to the top
- * Jetty: Fix temp dir name handling on windows, which was
- causing susidns not to start
- (http://forum.i2p/viewtopic.php?t=3364)
- * NTCP: Prevent IllegalStateException
- * PeerProfile:
- - Replace a hot lock with concurrent RW lock
- - Rewrite ugly IP Restriction code
- - Also use transport IP in restriction code
- * RouterConsole: Make summary bar a refreshing iframe
- * Transport: Start the previously unused CleanupUnreachable
-
- 2009-04-21 sponge
- * Code janitor work, basic corrections involving @Override, and
- appling final where it is important. Also fixed some equals methods
- and commented places that need fixing.
-
- 2009-04-18 Complication
- * Fix typo in "news.xml", no build number increase.
-
- * 2009-04-18 0.7.2 released
-
- 2009-04-18 Complication
- * Update versions, package release
-
- 2009-04-17 sponge
- * fixed setIP, just be sure to distclean before building :-)
- * more lint taken care of as well.
-
- 2009-04-17 sponge
- * setIP wants to be a static method in the class, but it produces
- warnings about it being static from other code.
-
- 2009-04-17 sponge
- * Catch NPE in NTCP.
- This possibly augments fix 2009-04-11 welterde below.
- * Various LINT on NTCP sources, and removal of space-wasting
- spaces at end of lines in sources touched.
-
- 2009-04-13 Mathiasdm
- * Bugfix on tray icon updating
- * Some more work on the general configuration menu
- (currently not added to the tray icon menu yet, needs more work)
- * Tweaked the desktopgui logo
-
- 2009-04-13 Mathiasdm
- * Added I2P version and GUI version to desktopgui
- * Tweaks to the tray icon menu
- * Some starting work on a GUI general configuration menu
- * Bugfix allowing spaces in directory structure
-
- 2009-04-13 welterde
- * small fix in the eepproxy
-
- 2009-04-11 welterde
- * fixed NPE in NTCP transport
-
- 2009-04-11 sponge
- * i2ptunnel janitorial work and fixes on most locks.
- Some locks still need work, and are marked with LINT in the comment.
- Just grep for "LINT" to see where the remaining places are.
-
- 2009-04-10 sponge
- * More BOB threadgroup fixes, plus debug dump when things go wrong.
- * Fixes to streaminglib, I2CP, which are related to the TG problem.
- * JavaDocs fixups.
-
- 2009-04-08 sponge
- * More hopeful fixups to the infamous orpahned tunnel problem. *Sigh*
-
- 2009-04-08 zzz
- * IPV6/localhost:
- - Enable IPv6 stack in the JVM, hopefully won't break anything
- - Patch Jetty to support binding to IPv6 addresses
- - Allow multiple bind addresses for the router console
- in the clients.config file; for new installs the
- default is now "127.0.0.1,::1"
- - Change most instances of "localhost" to "127.0.0.1"
- throughout the code
- * Router:
- - Move some classes to private static inner
-
- 2009-04-07 sponge
- * BOB prevent jvac from optimizing out thread-group code from -10
-
- 2009-04-07 zzz
- * NTCP: Prevent occasional NPE introduced in -4
- * streamr: Synchronize DatagramMaker
-
- 2009-04-07 sponge
- * SimpleTimer2, SimpleScheduler fixed so that the threads all run from
- The main threadgroup, not in the current possible child threadgroup.
- So long as any SimpleTimer2/SimpleScheduler is started *BEFORE* any
- child threadgroups, the constructors are threadgroup safe. What would
- be super cool is if they were to be all jailed within thier very own
- threadgroup too, but, I2P isn't up to the task of this yet.
- * Fixes to BOB to ensure the above is true.
-
- 2009-04-06 sponge
- * Debugging to make SimpleTimer2 and SimpleScheduler easier to debug.
- * Fix for the config files in the GUI from mathiasdm
-
- 2009-04-04 sponge
- * Hopeful fixups to the infamous orpahned tunnel problem.
- * BOB now 0.0.5
-
- 2009-04-04 zzz
- * NTCP: Don't bid on messages too big to handle
-
- 2009-04-03 zzz
- * Console:
- - Fix bug with IE buttons not working,
- because it sends the label instead of the value
- - Display version of downloaded update
- * Update:
- - Change default to "Download and verify"
- - Change news fetch default to 24h (was 12h)
-
- 2009-04-03 sponge
- * Fix broken dependencies for BOB.jar
- * Router build version incremented to 5.
-
- 2009-04-02 zzz
- * Profiles:
- - Remove unused calculators and RateStats:
- CapacityCalculator, StrictSpeedCalculator, IsFailingCalculator;
- sendFailureSize, processSuccessRate, processfailureRate, commErrorRate,
- tunnelTestResponseTimeSlow
- - Reduced number of Rates in these RateStats:
- sendSuccessSize, receiveSize, rejectRate, failRate
- - ~5KB/profile savings total
- - Deflate speed calculation once an hour instead of once a day,
- to improve fast tier selection
- - Remove dup comment in persisted files
- * StatisticsManager - effective in 0.7.2:
- - Spoof uptime to 90m for all
- - Change tunnel stats from 10m to 60m
- * Transport:
- - Maintain a router hash -> IP map in transport,
- to support additional IP checks (unused for now)
- - Catch error on pre-2.6 kernels
- - Some concurrent conversion
- - Fix an HTML error on peers.jsp
-
- 2009-04-01 zzz
- * I2PTunnel: Fix tunnel close
- http://forum.i2p/viewtopic.php?t=3231
-
- 2009-03-30 zzz
- * I2CP:
- - Implement BandwidthLimitsMessage
- - Have i2psnark use new message, remove
- build dependency on router
- * Peer Selection:
- - Limit peers to a max % of all tunnels with
- router.maxTunnelPercentage=nn, default 33
- - Add chart to tunnels.jsp to see results
-
- * 2009-03-29 0.7.1 released
-
- 2009-03-29 Complication
- * Update versions, package release
-
- 2009-03-27 zzz
- * Add readme_fr.html
- * License splash update
- * Catch rare TunnelGatewayMessage AIOOB, root cause unknown
-
- 2009-03-24 zzz
- * I2PTunnel:
- - Add some warnings about new features
- - Fix encrypted leasesets broken in about -4
- - Suppress log error on manual stop
- - Fix NPE on close of a tunnel not open yet
- * Transport:
- - Increase default bw to 64/32, burst 80/40
- * Tunnels: Change some fragmentation errors to warns
-
- 2009-03-16 zzz
- * help.jsp: Add some
- * I2PTunnel: Cleanup
- * I2PTunnelHTTPClient: Fix NPE on delayed open
- * I2PTunnelHTTPServer: Maybe catch an NPE
- * SOCKS: Allow .onion addresses for onioncat testing
- * Tunnel: Catch a rare AIOOB
-
- 2009-03-09 zzz
- * Client:
- - Clean up retry code
- - Bring I2CP listen error to the summary bar
- http://forum.i2p/viewtopic.php?t=3133
- * I2PSnark: Remove the http from the add torrent box
- * I2PTunnel:
- - Add persistent key option for standard and IRC clients
- - Add delay-open option for clients
- - Get regenerate-dest-on-reconnect working
- - Add default key file name
- - Add link to addressbook
- - I2PSink: Send protocol byte
- * OCMOSJ:
- - Change from 5% reply requests to at least
- once per minute, in hopes of reducing IRC drops
- - More clean up of the cache cleaning
- * Routerconsole: Don't OOM configpeer.jsp on huge blocklists
-
- 2009-02-26 zzz
- * I2CP Client: Add support for muxing
- * I2PTunnel:
- - Add new IRCServer tunnel type
- - Add SOCKS 4/4a support
- - Catch OOMs in HTTPServer
- - Name the IRCClient filter threads
- - Port Streamr to I2PTunnel
- - The beginnings of SOCKS UDP support
- * Naming: Add reverse lookup by hash
- * OCMOSJ: Clean up the cache cleaning
- * Router: Move addShutdownTask from Router to I2PAppContext
- so that apps can register more easily
- * Routerconsole:
- - Thread hard shutdown and restart requests from the routerconsole,
- and add a delay even if no tunnels, to allow time for a UI response
- - Sort the summary bar destinations
- - Move dest-to-hash converter to new helper class so we can
- use it in i2ptunnel
-
- 2009-02-22 sponge
- * BOB: Orphan tunnel issue fix, bump BOB version
- * bump to Build 6
-
- 2009-02-16 zzz
- * Streaming lib: Plug timer leak, don't send keepalives
- after close, don't disconnect hard after close
-
- 2009-02-15 zzz
- * Add licenses to all packages
- * I2PSession: Concurrent _messagesReceived
- * i2psnark: tmp file removal try #3
- * I2PTunnel:
- - Don't buffer POST data in HTTPClient
- - Display destination even when stopped
- - Enable key generation, dest modification, and
- hashcash estimation in the GUI
- - Add new CONNECT client
- * NetDb: Enforce 60s minimum leaseset publish interval
- * Streaming lib:
- - Plug connection leak
- - Move ConEvent from SimpleTimer to SimpleScheduler
- - Move RetransmissionTimer (ResendPacketEvent)
- from SimpleTimer to new SimpleTimer2
- - Move ActivityTimer and Flusher from SimpleTimer to RetransmissionTimer
- - SimpleTimer2 allows specifying "fuzz" to reduce
- timer queue churn further
- * Susidns: Fix save of new dest broken in 0.7
- * TunnelPool:
- - Allow leasesets with reduced leases for robustness and startup speed
- - Plug in-progress build leak
-
- 2009-02-07 zzz
- * ClientConnectionRunner, Shitlist, TunnelDispatcher:
- Update using concurrent
- * Streaming ConnectionHandler: Bound SYN queue and
- use concurrent to prevent blowup
- * HTTP Proxy: Fix error msg for b32 addresses
- * I2CP: Implement optional reduce tunnels on idle - not hooked
- in to i2ptunnel GUI yet - still needs tweaks
- * I2CP MessageReader: Prevent rare NPE
- * I2CP Writer: Rewrite using concurrent
- * i2psnark: Add torrent and connection count
- * I2PTunnel & I2CP:
- - Fix tunnel reduction/restore, hook in the GUI
- - Hook leaseset encryption into the GUI
- - Implement saves for all the new stuff
- - Add cancel button
- - Add b32 display for non-http servers
- - Prep for CONNECT
- - Fix error msg when connection goes away
- * NetDb: Remove all DataPublisher stuff
- * Wrapper: Remove dup timeout
-
- 2009-02-02 sponge
- * Final? cleanups to Slackbuilds.
- * ant target for Slackbuilds.
-
- 2009-02-01 sponge
- * Slackbuild files... if we can have them for Debian, why not :-)
-
- 2009-02-01 zzz
- * Convert some inner classes to static (findbugs)
- * DataHelper.readLong(): Was returning -1 on EOF instead
- of throwing exception
- * i2psnark: Increase tunnels and pipeline to 3
- * NTCP: Use a java.util.concurrent execution queue instead of
- SimpleTimer for afterSend() to reduce lock contention
- * Remove source from susimail.war, susidns.war, i2ptunnel.war (85KB)
- * Routerconsole:
- - Move common methods to new HelperBase class
- - Make reseed link a button
- * SimpleScheduler: New replacement for SimpleTimer when events
- will not be rescheduled or cancelled, to reduce SimpleTimer
- lock contention
- * Tunnel Pool:
- - Remove tunnel from participating if can't contact next hop
- - Fail outbound build faster if can't contact first hop
- * Wrapper: Remove dup timeout
-
- 2009-01-31 dream
- * Debian files
-
- 2009-01-31 sponge
- * One line BOB discarded interger fix
- (not that it mattered at this point)
-
- 2009-01-25 zzz
- * Build files:
- - Don't bundle unneeded XML parser xercesImpl.jar (1MB)
- - Don't include unneeded stuff in Copy, Delete, Exec.jar (300KB)
- * I2CP:
- Implement new I2CP message ReconfigureSessionMessage.
- Will be used for tunnel reduction.
- * I2PTunnel Edit Pages:
- - Change default length to 2+0
- - Cleanup helper code
- - Prevent null spoofhost
- - Stub out the following new options (C=client, S=server):
- + Access list (S)
- + Certificate type (S)
- + Encrypted LeaseSet (S)
- + New dest on idle restart (C)
- + Tunnel closure on idle (C)
- + Tunnel reduction on idle (C,S)
- * I2PTunnel Socks:
- - Add support for SOCKS to GUI
- - Don't NPE on SOCKS 4, just close
- - Don't have SOCKS build a new dest for every request
- - Beginnings of SOCKS configuration by port
- - HTML error msg for attempted HTTP access
- * LeaseSet: Add encrypt/decrypt methods
- * netdb.jsp: Don't show stats by default
- * OCMOSJ: Bundle a reply when we switch tunnel or lease,
- to detect failure sooner
- * PublishLocalRouterInfoJob:
- - Delay for 5m at startup
- - Run every 20m (was 7.5m)
- * RebuildRouterInfoJob: Don't run it
- * Router: Add a keyring for decrypting leases
- * Routerconsole: Add configkeyring.jsp
- * SummaryHelper.getTransferred() move to DataHelper,
- rename to formatSize(), use on tunnels.jsp
- * Streaming, I2CP, Client Message sending:
- Pass message timeout through new I2CP message
- SendMessageExpiresMessage, so that the router
- uses the same expiration as the streaming lib.
- Should help reliability.
- * Streaming: TCB control block sharing
-
- * 2009-01-24 0.7 released
-
- 2009-01-24 Complication
- * Update versions, package release
-
- 2009-01-17 zzz
- * NTCP: Prevent two NTCP Pumpers
-
- 2009-01-14 zzz
- * config.jsp: Fix burst seconds display
- * HTTPClient: Fix per-tunnel settings for i2cp.gzip and
- i2ptunnel.httpclient.send* (thx tino)
- * i2psnark:
- - Fix double completion message
- - Add crstrack
- * initialNews.xml: Add .de (thx echelon)
- * Message: Always distribute an inbound msg back out
- a tunnel to foil a possible latency-measuring attack
- (welterde)
- * Naming:
- - Change base32 names to *.b32.i2p
- - Add i2p.naming.hostsTxt.useB32 config
- * profiles.jsp: Remove 1m column
- * SAM: Don't build tests by default
- * Streaming:
- - Prevent a rare NPE
- - Reduce initial RTT to 8s (was 10s)
- * tunnels.jsp: Add netdb links
-
- 2009-01-08 zzz
- * addressbook: Prevent Base32 hostnames
- * build.xml: Remove readme_xx.html from updater
- * configtunnels.jsp: Fix display of outbound backup count
- * configupdate.jsp: Fix corruption of update URLs
- * i2psnark: Recognize Robert 0.3 and 4
- * ExploreJob/SearchJob - fix brokenness:
- - Give each search a minimum of time even at the end
- - Fix ExploreJob exclude peer list
- - Always add floodfills to exclude peer list
- - Don't queue keys for exploration or run ExploreJob
- if floodfill
- - Allow floodfills to return non-floodfills in
- a DSRM msg so exploration works
- * ExploreJob/SearchJob - more fixes:
- - Disable ExploreKeySelectorJob completely, just have
- StartExplorersJob select a random key if queue is empty
- - Add netDb.alwaysQuery=[B64Hash] for debugging
- - Queue results of exploration for more exploration
- - Floodfills periodically shuffle their KBuckets, and
- FloodfillPeerSelector sorts more keys, so that
- exploration works well
- * Shitlist: Reduce max time to 30m (was 60m)
- * Streaming:
- - Reduce default initial window size from 12 to 6,
- to account for the MTU increase in the last release
- and try to limit initial packet loss
- - Reduce fast retransmit threshold from 3 to 2
- * Transport: Don't shitlist a peer if we are at our
- connection limit
-
- 2009-01-03 zzz
- * config.jsp: Move the buttons up
- * configservice.jsp: Clean up and fix the broken (?)
- browser launch configuration
- * i2psnark:
- - Try again to remove the i2psnarkurl files on shutdown
- - Sort torrents with a locale-based sort
- * NetDb:
- - Expire routers with introducers after 90m.
- This should improve reachability to firewalled routers
- by keeping introducer info current.
- - Expire routers with no addresses after 90m.
- - Convert to java concurrent
- * Stats: Add router.memoryUsed, graph by default
- * Summary bar: Remove spurious UDP warning on startup
- * UpdateHandler: Make extensible for upcoming
- torrent updater
-
- 2008-12-15 zzz
- * Remove apps/ bogobot jdom pants q rome stasher syndie
-
- 2008-12-14 zzz
- * Contexts: Add int getProperty(String prop, int default)
- * I2PAppThread: Constructor fix
- * More split classes into their own files for mkvore
- * Streaming: Don't build test cases by default
- * Summary bar: Replace links with buttons
- * Transport:
- - Cleanup max connections code
- - Add i2np.udp.maxConnections
- - Set max connections based on share bandwidth
- - Add haveCapacity() that can be used for connection
- throttling in the router
- - Reject IBGW/OBEP requests when near connection limit
- - Reduce idle timeout when near connection limit
- * Tunnel request handler:
- - Require tunnel.dropLoad* stats
- - Speed up request loop
- * I2CP, HostsTxtNamingService, I2PTunnel:
- Implement Base32 Hash hostnames, via the naming service.
- Names are of the form [52-characters].i2p, where
- the 52 characters are the Base32 representation of our
- 256-byte hash. The client requests a lookup of the hash
- via a brief I2CP session using new I2CP request/reply
- messages. The router looks up the leaseset for the hash
- to convert the hash to a dest. Convert the I2PTunnel
- 'preview' links to use Base32 hostnames as a
- demonstration.
-
- 2008-12-08 zzz
- * ATalk: Move from core to apps
- * Blocklists: enable by default, include blocklist file
- in new installs
- * Build: Add findbugs target
- * Cleanup of removed netdb stats
- * Console:
- - Don't display restart button if no wrapper
- - Remove PRNG stats
- * Eepsite: Disable jetty webapps by default for new installs
- * i2psnark:
- - Add default i2psnark.config for new installs
- - Remove wishlist link
- - Recognize robert and i2psnarkxl clients
- - Increase max files to 256
- * Increase standalone heap size to 128MB
- * NetDb: Split classes into their own files for mkvore
- * PeerManager: Fix NPE on early shutdown
- * SusiDNS: Add textareas
- * Transport:
- - Fixes, avoid NPEs, and cleanups when NTCP and/or UDP transports disabled
- - More TCP removal cleanup
- - Clean up bandwidth limiting, centralize defaults
- - Force burst to be >= limit
- - Increase default bw to 48/24, burst 64/32
- * Tunnels: Avoid two NPEs on corrupt fragments
-
- 2008-12-01 zzz
- * i2psnark:
- - Refactor to allow running a single Snark without a SnarkManager again,
- by moving some things from SnarkManager to I2PSnarkUtil,
- having Snark call completeListener callbacks,
- and having Storage call storageListener callbacks.
- This is in preparation for using Snark for router updates.
- Step 2 is to allow multiple I2PSnarkUtil instances.
- - Big rewrite of Storage to open file descriptors on demand, and
- close them when unused, so we can support large numbers of torrents.
-
- * i2psnark:
- - Remove static instances of I2PSnarkUtil, ConnectionAcceptor,
- and PeerCoordinatorSet
- - Convert static classes in Snark to listeners
- - Fix Snark to work in single torrent mode again
- - Should now work with multiple single Snarks
-
- * i2psnark:
- - Use new I2PAppThread that does not call global listeners on OOM,
- so that OOMing apps will not shutdown the whole router.
-
- * i2psnark:
- - Don't create SnarkManager instance until first call,
- so it doesn't create the i2psnark dir, read the config,
- etc., for single Snark instances.
- - Don't read i2psnark.config twice; fix setting
- i2psnark.dir
- - More Snark constructor changes for calling from router
- - Make max connections per torrent configurable
-
- * SAM:
- - Use new I2PAppThread that does not call global listeners on OOM,
- so that OOMing SAM will not shutdown the whole router.
-
- * 2008-12-01 0.6.5 released
-
- 2008-12-01 Complication
- * Update versions, package release, fix typo in comment
-
- 2008-11-26 zzz
- * Fix Windows UrlLauncher
-
- 2008-11-21 zzz
- * Cache DNS and negative DNS for 5m (was 1m and forever)
- * Delay shitlist cleaner at startup
- * Strip wrapper properties from client config
- * Define multiple cert type
- * Prohibit negative maxSends in streaming
- * HTML fixup on configtunnels.jsp
- * Increase wrapper exit timeout from default 15s to 30s
-
- 2008-11-20 zzz
- * I2PTunnel: Handle missing fields in edit pages better
- * Move DummyNetworkDatabaseFacade to his own file
- to help the build dependencies
- * Drop old tcp transport and old tunnel build sources
- * EepGet:
- - Better handling of 504 gateway timeout
- (keep going up to limit of retry count rather
- than just one more partial fetch)
- - Add -t cmd line option for timeout
- - Better handling of 403, 409, 503 errors
- - Don't keep going after unknown return code
- - Don't delay before exiting after a failure
-
- 2008-11-15 zzz
- * Build files:
- - Don't die if depend not available
- - Only verify Jetty hash once
- - Add streaming lib tests to depend task
- * I2CP Compression:
- - Add i2cp.gzip option (default true)
- - Add compression stats
- - Don't bother compressing if really small
-
- 2008-11-13 zzz
- * Streaming:
- - Add more info to Connection.toString() for debugging
- - Fix lifetimeMessages{Sent,Received} stats
- - Reduce RTT damping to 0.875 (was 0.9)
- - Add a stream.con.initialRTT.{in,out} stats
- * Build files:
- - Use the depend task with caching for more accurate dependencies
- - Make sure the routerconsole gets the latest router version
- - Fix addressbook repeated builds
- * HTTPClient: Add config options to pass Via, Referer,
- and User-Agent through
- * Blocklists: Fix lists with hashes only
-
- 2008-11-11 zzz
- * Streaming - Fix several bugs and improve performance
- when the initial data is larger than one MTU,
- e.g. HTTP GETs with large URLs, CGI params or cookies,
- or large HTTP POSTS:
- - Don't reject additional packets received without a
- send stream ID (i.e. sent before the SYN ACK was received)
- - Put unknown non-SYN packets on the SYN queue also
- so they won't be rejected
- - Reduce flusher delay to 250ms (was 500)
- - Flush unless window is full (was window is non-empty)
- * Streaming: Enforce a minimum MTU of 512
- * I2PTunnel: Change "interactive" max window size to 16 (was 1)
- * NetDb: Fix a deadlock caused by last checkin
-
- 2008-11-09 zzz
- * build.xml: Build speedups:
- - Don't distclean in the updaterRouter target
- - Don't make prepUpdate and prepupdateSmall depend
- on distclean
- - Don't make susimail build always clean
- - Make pkg depend on distclean to be sure
- - Clean out more routerconsole and susidns files in 'ant clean'
- - i2ptunnel, routerconsole, susidns:
- Only build WEB-INF when necessary
- - systray: Only build jar when necessary
- - Don't build i2psnark standalone for the updater target
- * configclients.jsp: Provide a link when starting a webapp
- * configtunnels.jsp:
- - Code cleanup
- - Add 4-hop option
- - Remove +/- 0-2 option
- * javadoc: Add some more package.html files
- * I2PTunnelHTTPServer: Put the requestor's dest hash
- in the request headers
- * Jetty: Add a I2PRequestLog class to log request dest hash
- * NetDb: Don't drop routerInfos if we have connectivity
- issues or other problems
- * NTCP: Lower idle timeout to 10m (was 15m)
- * Routerconsole: Replace wtf msg w/ something nicer
- * Tunnel BuildHandler: add config router.participantOnly,
- set to true to refuse OBEP and IBGW roles, should
- reduce connections significantly if set.
-
- 2008-11-02 zzz
- * Certificates:
- - Add a signed Certificate type
- - Add a main() to PrivateKeyFile to generate
- Destinations with various Certificate types
- - Add a VerifiedDestination class to check Certificates
- of various types
- - Add a HashCash library from http://www.nettgryppa.com/code/
- (no distribution restrictions)
- - Allow non-null Certificates in addressbook
- * I2PTunnel: Move some wayward stats to the I2PTunnel group
- * NamingServices: Implement caching in the abstract class
- * NewsFetcher: Fix last updated time
- * Streaming: Increase MTU to 1730 (was 960);
- see ConnectionOptions.java for analysis
- * Throttle: Reduce default max tunnels to 2000 (was 2500)
- * clients.config: Disable SAM and BOB by default for new installs
-
- 2008-10-26 zzz
- * config.jsp: Add more help
- * peers.jsp: Clean up 'Listening on' formatting
- * profiles.jsp: Don't override locale number format
- * netdb.jsp: Indicate if hidden
- * summary.jsp: Indicate if hidden
- * i2ptunnel/edit.jsp: Disable word wrap in textarea
- * Blocklist: Change logging from ERROR to WARN
- * FloodfillMonitor:
- - Fix ff count (we forgot ourselves)
- - Don't become ff if hidden
- * HandleFloodfillDatabaseLookupMessageJob:
- Send back your routerinfo with the DSRM if not ff to
- spread the word that you aren't ff anymore
- * I2Ping:
- - Add -n count option
- - Add rtt output
- - Enhance help
- - Fix option handling
- * More findbugs cleanups
- * NetDb:
- - Fix behavior when router.isHidden=true
- - Delay StartExplorersJob for 10m at startup
- - Update dbLookup profile stats in FloodOnlySearchJob
- and FloodfillVerifyStoreJob
- - Fix response time store in profile in SearchJob
- * Stats:
- - Remove unused tunnel.buildSuccess and tunnel.buildFailure
- - Remove tunnel.buildRequestTime and 5m rate stats from
- netDb, effective in next release
- * UDP:
- - Don't do peer tests when hidden
- - Don't offer to introduce when hidden
- - Don't continually rebuild routerInfo when hidden
- - Don't continually rebuild routerInfo when
- i2np.udp.internalPort is set but i2np.udp.port is not
- - Remove some unused functions
-
- 2008-10-20 zzz
- * configclients.jsp: Handle clients with no args
- * index.jsp: Add readme_nl.html (thanks mathiasdm!),
- readme_sv.html (thanks hottuna!)
- * Big findbugs cleanup
- * Client: Prevent a race causing session reconnect
- * FloodfillMonitor:
- - Don't become ff if clock skew is high
- - Rebuild routerinfo immediately when ff status changes
- * FloodOnlySearchJob: Recover better if the floodfills
- you know are no longer floodfill or are gone
- * Installer: Bump min JRE to 1.5
- * ShellCommand: Fix main()
-
- 2008-10-14 zzz
- * index.jsp: Add multilanguage support for readme.html;
- add readme_de.html (thanks devzero!)
- * configupdate.jsp, configadvanced.jsp:
- Disable word wrap in textareas
- * install*.txt: Update for 1.5
- * summary.jsp: Remove failing peer count
-
- 2008-10-10 zzz
- * Profiles: Reduce reject penalty in
- capacity calculation to avoid a congestion collapse
- * Throttle: Change reject to BANDWIDTH from CRIT on shutdown
- for improved anonymity
- * Tunnels: Implement random discard to enforce share limit
- * Tunnel Tests: Add time for outbound delay, to avoid
- congestion collapse
- * UDPPacketReader: Adjust logging
- * build files: Change to source=1.5, target=1.5
- * configpeer.jsp: Table cleanup
- * i2psnark: Change default tunnel length from 1+1 to 2+0
- * peers.jsp: Change <,> to in,out for UDP
-
- 2008-10-09 sponge
- * Update version to -3
- * BOB database threadlocking fixes
-
- 2008-10-08 sponge
- * Update version to -2
- * Bugfixes and additions to BOB
-
- 2008-10-07 sponge
- * Bugfixes and additions to streaming.
- * Added SimpleStore class in utils.
- * Fixed SimpleTimer class to allow exit.
- * BOB (Basic Open Bridge) added.
-
- * 2008-10-05 0.6.4 released
-
- 2008-10-05 Complication
- * Update versions, package release
-
- 2008-09-29 zzz
- * i2psnark: Add codevoid link, remove mastertracker
-
- 2008-09-23 zzz
- * config.jsp: Add some reachability help
- * configpeer.jsp: Add blocklist info
- * help.jsp: Add link to German FAQ
- * tunnels.jsp: Fix inactive participating count
- * SearchReplyJob: Don't look up references to shitlisted peers
- * TunnelPeerSelector: Avoid a peer for 20s after a reject or timeout
-
- 2008-09-20 zzz
- * NetDb: Fix the totally broken "check new routers against blocklist"
- code from 3 checkins ago
- * tunnels.jsp: Sort participating tunnels by usage, display rate
-
- 2008-09-19 zzz
- * Tunnels:
- - Add missing message accounting for inbound gateways,
- we were underestimating participating traffic because of it,
- and the tunnels were classified "inactive"
- - Add participating tunnel role on tunnels.jsp
-
- 2008-09-18 zzz
- * Throttle:
- - Correctly check inbound and outbound total bw limits separately
- - Fix up and actually use the tunnel.participatingMessageCount stat,
- favor it if lower than the total bw stat, so that
- client traffic isn't included for throttle decisions
- - Reduce min message count from 60 to 40
- * Tunnel Dispatcher:
- - Add tunnel.participatingBandwidth stat
- - Remove all 3h and 24h stats
-
- 2008-09-15 zzz
- * FloodOnlySearchJob:
- - Ask non-floodfill peers if we don't know any floodfills
- - Lookup hashes in the DatabaseSearchReplyMessage if we
- don't know enough floodfills
- * NetDb: Check new routers against blocklist
- * Router: Shutdown clients first
- * Throttle:
- - Use 60s rather than 10m tunnel.participatingMessageCount stat
- - Fix a summary bar message
- * Tunnel Dispatcher: Update tunnel.participatingMessageCount
- every 20s, rather than at tunnel expiration, to maintain
- a more current stat
- * Tunnel Pool:
- - Prevent excess zero-hop tunnels
- - Always wait before looping in BuildExecutor
- * configlogging.jsp: Increase box width
- * logs.jsp: Remove unused connection log, cut wrapper log output in half
-
- 2008-09-12 zzz
- * Blocklist: Fix a log message format
- * HarvesterJob: Don't instantiate if disabled
- * i2psnark:
- - Add config i2psnark.linkPrefix to enable access to completed
- torrents from a different machine - examples:
- i2psnark.linkPrefix=file://///localserver/path/to/files/
- i2psnark.linkPrefix=http://localwebserver/path/
- (Stop i2psnark, add to i2psnark.config, restart)
- - Remove Galen and NickyB trackers
- * NetDb: Add netDb.exploreKeySet stat
- * netdb.jsp: Add parameter ?r=xxxxxx to view a single routerinfo,
- and ?r=. to view our own; change links on other pages too
- * Transport: Make 0.0.0.0/8 and 169.254.0.0/16 private
-
- 2008-09-06 zzz
- * EepGet command line: Fix byte counts after a failed resume
- * NTCP: Mark unreachable on outbound connection timeout
- * Shitlist: Fix partial shitlisting (still unused though)
- * Summary Bar: Warn if firewalled and floodfill
- * Throttle: Combine current and last bw measurement,
- reduce default max tunnels to 2500 (was 3000)
- * Tunnel BuildHandler: Logging cleanup
- * UpdateHandler: Cleanup, clarify failure message
- * DataHelper: Prepare for 999 day uptime :)
-
- 2008-08-29 zzz
- * Tunnel BuildExecutor: Debug cleanup
- * Profiles: Penalize capacity when tunnel build request times out
- * Shutdown: Call the shutdown hooks before the router shutdown
- rather than after
- * Stats: Remove tunnel.Bps.* stats when the tunnel pool is closed
-
- 2008-08-27 zzz
- * Floodfill Peer Selector: Prefer already-connected floodfill
- peer for direct RouterInfo stores, to mimimize floodfill
- connections
- * Peer Profiles: Classify connected peers as "active",
- which will help improve the fast pool
- * Transport Manager: Add isEstablished(Hash)
- * NTCP: Reduce max idle time from 20m to 15m
- * NetDb stats: Post-0.6.3 clean up
-
- * 2008-08-24 0.6.3 released
-
- 2008-08-24 Complication
- * Update versions, package release
-
- 2008-08-20 zzz
- * Blocklists: Handle blank lines and \r\n in blocklist.txt
- * NTCP: Add connection limit, set by i2np.ntcp.maxConnections,
- default is 500 (very high for now)
- * Persistent data store: Increase write limit from 300 to 600
- so floodfill routers don't get backed up
-
- 2008-08-13 zzz
- * i2psnark: Fix OOM vulnerability by checking incoming message length
- (thanks devzero!)
-
- 2008-08-04 zzz
- * Floodfill Peer Selector:
- - Avoid peers whose netdb is old, or have a recent failed store,
- or are forever-shitlisted
-
- 2008-07-30 zzz
- * Blocklists:
- - New, disabled by default, except for blocking of
- forever-shitlisted peers. See source for instructions
- and file format.
- * Transport - Reject peers from inbound connections:
- - Check IP against blocklist
- - Check router hash against forever-shitlist, then block IP
-
- 2008-07-16 zzz
- * configpeer.jsp: New
- * i2psnark: Open completed files read-only the first time
- * profiles.jsp: Show bonuses, link to configpeer.jsp
- * PRNG: Move logging from wrapper to router log
- * SSU:
- Don't proactively reconnect until 30m idle, so
- we don't lose introducer tags prematurely
-
- 2008-07-16 Oldaris
- * Imports cleanup
-
- 2008-07-07 zzz
- * i2psnark:
- - Repair corrupted files with wrong length rather than die
- - Register shutdown hook to properly shutdown torrents when
- the router shuts down, hopefully will reduce corruption
- - Add Galen tracker
- - Add a note about how to change directory
- * HTTP Proxy: Don't show jump links for unknown jump hosts
- * KeyManager:
- - Don't write router key backup when leaseSet keys are updated
- - Synchronize to prevent concurrent writes (thanks Galen!)
- - Backup keys every 7 days instead of every 5 minutes
- * LoadTestManager: Don't instantiate, it's disabled
- * Router console: Flag placeholder pages as noncacheable
- * Streaming lib:
- - Change some logging from WARN to INFO
- - Clean up toString()
- * SSU:
- - Try to pick better introducers by checking shitlist,
- wasUnreachable list, failing list, and idle times
- - To keep introducer connections up and valid,
- periodically send a "ping" (a data packet with no data and no acks)
- to everybody that has been an introducer in the last two hours
- - Add a stat udp.receiveRelayRequestBadTag, make udp.receiveRelayRequest only for good ones
- - Remove some 60s and 5m stats, leave only the 10m ones
- - Narrow the range for the retransmit time after an allocation fail
- - Adjust some logging
-
- 2008-06-30 zzz
- * configstats.jsp: Fix NPE when no stats checked (thanks nothome27!)
- * i2psnark:
- - Fix NPE caused by race (thanks echelon!)
- - Add mastertracker, remove de-ebook
- * NTCP:
- - Try to fix 100% CPU, caused perhaps by JVM NIO bug...
- - Fix failsafe stats
- * PersistentDataStore: More leaseSet code cleanup
- * SimpleTimer: Change congestion message from error to warn
-
- 2008-06-24 zzz
- * FloodfillMonitorJob: Change range from 5-7 to 4-6
- * NTCP: Remove getIsInbound(), duplicate of isInbound()
- * PersistentDataStore: Don't try to remove nonexistent leaseSet files
- * Router console: add placeholder pages for i2psnark, i2ptunnel,
- susidns, and susimail for use when the .wars are not running
- * Streaming lib: Increase max window size to 128
-
- 2008-06-22 welterde
- * Optimize I2PDatagramDissector
-
- 2008-06-20 zzz
- * configclients.jsp: Add start button for clients and webapps.
- * PRNG: Add two stats
- * Summary bar:
- - Display Warning for TCP private IP address
- - Display PRNG stats
- * OutNetMessage: Change cache logging from WARN to INFO
-
- 2008-06-17 zzz
- * Comm System: Add new STATUS_HOSED for use when UDP bind fails
- * Summary bar: Display helpful errror message when UDP bind fails
- * UDP: Don't bid when UDP bind fails
- * configclients.jsp: Implement saves for clients and webapps.
-
- 2008-06-16 zzz
- * UDP: Prevent 100% CPU when UDP bind fails;
- change bind fail message from ERROR to CRIT
- * Refactor LoadClientAppsJob.java, move some functions to new
- ClientAppConfig.java, to make them easily available to
- new configclients.jsp
- * RouterConsoleRunner: Use a new config file, webapps.config,
- to control which .wars in webapps/ get run. Apps are enabled
- by default; disable by (e.g.) webapps.syndie.startOnLoad=false
- Config file is written if it does not exist.
- Implement methods for use by new configclients.jsp.
- * configclients.jsp: New. For both clients and webapps.
- Saves are not yet implemented.
-
- 2008-06-10 zzz
- * Floodfill: Add new FloodfillMonitorJob, which tracks active
- floodfills, and automatically enables/disables floodfill on
- Class O routers to maintain 5-7 total active floodfills
- * NetDb Stats:
- - Remove several more stats
- - Don't publish bw stats in first hour of uptime
- - Publish floodfill stats even if other stats are disabled
- - Changes not effective until 0.6.2.1 to provide cover.
- * Throttle: Use BANDWIDTH rather than CRIT as the rejection reason at
- startup, so peers don't list us as failing.
- * graphs.jsp: Fix a bug where it tries to display the combined
- bandwidth graph when it isn't available
-
- 2008-06-09 zzz
- * Propagate i2.i2p.i2p-0.6.2.1-pre branch to i2p.i2p
-
- 2008-06-09 zzz
- * Reachability: Restrict peers with no SSU address at all from inbound tunnels
- * News:
- - Add display of last updated and last checked time
- on index.jsp and configupdate.jsp
- - Add a function to get update version (unused for now)
- * config.jsp: Add another warning
-
- 2008-06-07 zzz
- * NetDb: Tweak some logging on lease problems
- * Shitlist:
- - Add shitlistForever() and isShitlistedForever(), unused for now
- - Sort the HTML output by router hash
- * netdb.jsp:
- - Sort the lease HTML output by dest hash, local first
- - Sort the router HTML output by router hash
-
- 2008-06-06 zzz
- * LeaseSet:
- - Sort the leases by expiration date in TunnelPool.locked_buildNewLeaseSet()
- to make later LeaseSet comparisons reliable. This cleans up the code too.
- - Fix broken old vs. new LeaseSet comparison
- in ClientConnectionRunner.requestLeaseSet(),
- so that we only sign and publish a new LeaseSet when it's really new.
- Should reduce outbound overhead both in LeaseSet publishing and LeaseSet bundling,
- and floodfill router load, since locked_buildNewLeaseSet() generates
- the same LeaseSet as before quite frequently, often just seconds apart.
-
- 2008-06-05 zzz
- * LeaseSet - code cleanup:
- - Add exception to enforce max # of leases = 6, should be plenty
- - Rewrite TunnelPool.locked_buildNewLeaseSet() so it doesn't add lots of
- leases and then immediately remove them again, triggering
- the new leaseSet size exception
- - Remove the now unused LeaseSet.removeLease(lease) and
- LeaseSet.removeLease(index)
- - Store first and last expiration for efficiency
- * Peer Profiles - Preparation for using bonuses:
- - Use CapacityBonus rather than ReachablilityBonus in the Capacity calculation
- - Persist CapacityBonus rather than ReachabilityBonus
- - Include SpeedBonus in the Speed calculation
- - Prevent negative values in Speed and Capacity when using bonuses
- - Clean up SpeedCalculator.java
- * HTTP Proxy error pages: Don't say eepsites are 'temporarily' down since we don't know
- * Add some config files for a future small distribution
- * configtunnels.jsp: Add warnings for <= 0 and >= 4 hop configurations
-
- 2008-06-01 zzz
- * Client Apps: Add new parameter for clients.config,
- clientApp.x.startOnLoad=false, to disable loading
- (for SAM for example). Defaults to true of course.
- * Logging: Move common WARN output to DEBUG so we can ask users to
- set the default log level to WARN without massive spewage
- * ProfileOrganizer: Restrict !isSelectable() (i.e. shitlisted) peers from the High Capacity tier,
- not just the Fast tier, since we don't use them for tunnels anyway
- * SAM: Add some compiler flexibility to two obscure makefiles
- * i2psnark: Change displayed peer idents to match that shown by bytemonsoon
- (sponge's suggestion)
- * summary bar:
- - Hide ident, provide a tooltip and a link
- - Add a warning if you are firewalled and class O
-
- 2008-06-07 Complication
- * Fix version in news.xml so it could be published
-
- * 2008-06-07 0.6.2 released
-
- 2008-06-07 Complication
- * Write announcement and prepare for release
-
- 2008-05-29 zzz
- * Fix up initialNews.xml
-
- 2008-05-27 zzz
- * Transport:
- - NTCP and UDP: Don't bid to connect to private IP addresses, mark unreachable
- - UDP: Don't bid when IP address missing, mark unreachable
-
- 2008-05-26 zzz
- * Throttle: Set a default router.maxParticipatingTunnels = 3000 (was none)
- * Stats: Add a fake uptime if not publishing stats, to get participating tunnels
- * build.xml:
- - Add an updaterSmall target which includes only the essentials
- - Add an updaterRouter target which includes only i2p.jar and router.jar
- - Clean up the build file some
- - Remove empty eepsite/ and subdirs from i2pupdate.zip
- * configtunnels.jsp: Add warning
- * i2psnark: Catch a bencode exception (bad peer from tracker) earlier
- * i2psnark-standalone: Fix exception http://forum.i2p/viewtopic.php?p=12217
-
- 2008-05-22 welterde
- * Change jetty download location in build script
-
- 2008-05-20 zzz
- * Reachability:
- - Call the previously unused profile.tunnelTestFailed()
- (redefined to include a probability argument)
- and severely downgrade a peer's capacity upon failures,
- depending on tunnel length and direction.
- This will help push unreachable and malicious peers
- out of the High Capacity tier.
- - Put recent fail rate on profiles.jsp
- * ProfileOrganizer: Logging cleanup
- * eepsite_index.html: Update add-host and jump links
- * HTTP Proxy: Remove trevorreznik jump server from list
-
- 2008-05-20 welterde
- * implemented PrivateKeyFile
-
- 2008-05-18 zzz
- * Throttle: Reject tunnels for first 20m uptime (was 10m)
- * TunnelPeerSelectors:
- - Re-enable strict ordering of peers,
- based on XOR distance from a random hash
- - Restrict peers with uptime < 90m from tunnels (was 2h),
- which is really 60m due to rounding in netDb publishing.
- * i2psnark:
- - Limit max pipelined requests from a single peer to 128KB
- (was unlimited; i2p-bt default is 5 * 64KB)
- - Increase max uploaders per torrent to 6 (was 4)
- - Reduce max connections per torrent to 16 (was 24) to increase
- unchoke time and reduce memory consumption
- - Strictly enforce max connections per torrent
- - Choke more gradually when over BW limit
- * help.jsp: Add a link to the FAQ
- * peers.jsp: Fix UDP direction indicators
- * hosts.txt: Add update.postman.i2p
-
- 2008-05-12 zzz
- * Outbound message:
- - Tweak the cache key for efficiency
- * Stats:
- - Require two udp stats when stats.full=false, caused NPE on peers.jsp
- * Summary bar:
- - Add messages when dropping tunnel requests due to load
- * Update Handler:
- - Add postman to the list
- * i2psnark:
- - Randomize the PeerCheckerTask start times to make global limiting
- work better
- - Calculate bw limits using 40s rather than 4m averages to make
- bw limiting work better
- - Change default bw limit from uplimit/3 to uplimit/2 due to
- overhead reduction from the leaseset bundling change
- * libjbigi:
- - Add documentation on dynamic build option
- - Add two speed tests to the build script
- - Clean up the build script, make it easier to build dynamic
-
- 2008-05-10 zzz
- * NetDb: Don't write the my.info file to disk, it isn't used for anything
- * Stats:
- - Simplify oldstats.jsp if no events in a stat
- - Fix the hosed inNetPool.droppedDeliveryStatusDelay stat
- (caused by an SSU hack)
- * Update Handler:
- - Add option to download and verify only
- - Add distinct error message if version check fails
-
- 2008-05-09 welterde
- * Add an update URL to the list
-
- 2008-05-07 zzz
- * Reachability:
- - Restrict peers requiring introducers from inbound tunnels,
- since it's slow and unreliable... and many of them advertise
- NTCP, which seems unlikely to work
- - Provide warning on summary bar if firewalled with inbound NTCP enabled
- * Stats: Remove the bw.[send,recv]Bps[1,15]s stats unless
- log level net.i2p.router.transport.FIFOBandwidthLimiter >= WARN
- at startup (you didn't get any data unless you set the log level anyway)
- * oldstats.jsp: Don't put 2 decimal places on integer event counts
- * Remove the Internals link from the menu bar
- * i2psnark: Extend startup delay from 1 to 3 minutes
-
- 2008-05-06 welterde
- * HTTP Proxy: Add i2jump.i2p jump service
-
- 2008-05-05 zzz
- * NetDb Stats: Cleanup of commented out stats
- * Outbound message:
- - Fix a couple of tunnel cache cleaning bugs
- - Cache based on source+dest pairs rather than just dest
- - Send the reply leaseSet only when necessary,
- rather than all the time (big savings in overhead)
- - Enable persistent lease selection again
- - Logging tweaks
- * Reachability:
- - Restrict <= .32 SSU-only peers from inbound tunnels,
- since they don't know if they are unreachable
- - Have SSU bid aggressively when it has less than 3 peers, so
- we can determine our IP address and do peer testing.
- Otherwise a router may never determine its IP address or reachability status.
- * Summary bar:
- - Add reachability status
- - Add participating tunnel acceptance status
- * Throttle: Reject tunnels for first 10m uptime
- * I2PTunnel: Change default outproxy to false.i2p
- * profiles.jsp: Add router version
-
- * 2008-04-26 0.6.1.33 released
-
- 2008-04-20 zzz
- * Outbound message/Reachability:
- - Fix a bug from -19 causing the persistent lease selection
- removed in -17 to be back again
- - Use netDb-listed-unreachable instead of detected-unreachable
- for exclusion of unreachable peers from selected leases,
- as there are potential anonymity problems with using
- detected-unreachable
- - Tweak logging some more
- * NetDb stats: Remove a couple more including the inefficient stat_identities
-
- 2008-04-17 zzz
- * Reachability:
- - Track unreachable peers persistently
- (i.e. separately from shitlist, and not cleared when they contact us)
- - Exclude detected unreachable peers from inbound tunnels
- - Exclude detected unreachable peers from selected leases
- - Exclude detected unreachable floodfill peers from lookups
- - Show unreachable status on profiles.jsp
-
- 2008-04-16 zzz
- * SSU/Reachability:
- - Extend shitlist time from 4-8m to 40-60m
- - Add some shitlist logging
- - Don't shitlist twice when unreachable on all transports
- - Exclude netDb-listed unreachable peers from inbound tunnels;
- this won't help much since there are very few of these now
- - Remove 10s delay on inbound UDP connections used for the
- 0.6.1.10 transition
- - Track and display UDP connection direction on peers.jsp
- - Show shitlist status in-line on profiles.jsp
-
- 2008-04-15 zzz
- * SSU Reachability/PeerTestManager:
- - Back out strict peer ordering until we fix SSU
- - Back out persistent lease selection until we fix SSU
- - Fix detection of UDP REJECT_UNSOLICITED by recording status on expiration
- - Increase known Charlie time to 10m; 3m wasn't enough
- - Don't continue retransmitting peer test if we know Charlie
- - Don't run multiple peer tests at once
- - Tighten test frequency range to 6.5-19.5m, was 0-26m
-
- 2008-04-12 zzz
- * Addressbook: Disallow '.-' and '-.' in host names
- * NTCP: Don't drop a connection unless both directions are idle;
- Fix idle time for outbound connections
- * Outbound message: Make sure cached lease is in current leaseSet
- * Stats: Put all NetworkDatabase stats in same group
- * TunnelPool: Stop building tunnels and leaseSets after client shutdown
- * i2psnark: Add locking to prevent two I2CP connections
-
- 2008-04-07 zzz
- * i2psnark:
- - Implement upstream bandwidth limiting
- - Fix a rare NPE at startup/shutdown
- - Really increase retries for .torrent fetch
- * profiles.jsp: Minor cleanup
- * DataHelper: Only format < 5s as ms
- * Eepget: Fix percentage output on command line eepget retries
- * Lower partipating message priority from 400 to 200
- * NTCP: Add a debug message
- * Outbound message: Minor cleanup
-
- 2008-03-30 zzz
- * ExploratoryPeerSelector: Try NonFailing even more
- * HostsTxtNamingService: Add reverse lookup support
- * Outbound message: Minor cleanup
- * i2psnark TrackerClient: Minor cleanup
- * checklist.txt: Minor edit
- * hosts.txt: Add perv.i2p, false.i2p, mtn.i2p2.i2p
- * i2ptunnel.config: Change CVS client to mtn
- * netdb.jsp: Show leaseSet destinations using reverse lookup
- * profiles.jsp: First cut at showing floodfill data
-
- 2008-03-27 zzz
- * Send messages for the same destination to the same inbound
- lease to reduce out-of-order delivery.
- * ExploratoryPeerSelector: Back out the floodfill peer exclusion
- for now, as it prevents speed rating of those peers
-
- 2008-03-26 zzz
- * ReseedHandler: Support multiple urls,
- add netdb.i2p2.de as a 2nd default
-
- 2008-03-25 zzz
- * i2psnark:
- - Add support for secondary open trackers
- - Refactor and simplify the TrackerClient code
- - Add welterde's tracker to the default list
- - Don't have eepget retry announces
- - Slow down tracker contacts if they've failed for a while
- - Add some debug support showing connections (?p=2)
- * hosts.txt: Add nickyb.i2p, tracker.welterde.i2p
-
- 2008-03-22 zzz
- * NewsFetcher: Fix bug causing fetch every 10m
-
- 2008-03-22 zzz
- * Tunnel Testing:
- - Fix counting so it really takes 4 consecutive failures
- rather than 4 total to remove a tunnel
- - Credit or blame goes to the exploratory tunnel as well
- as the tunnel being tested
- - Adjust tunnel test timeout based on tunnel length
- * ExploratoryPeerSelector: Tweak logging
- * ProfileOrganizer: Adjust integration calculation again
- * build.xml: Add to help
- * checklist.txt: Tweak
- * readme.html: Fix forum links
- * netDb: Remove tunnel.testFailedTime
-
- 2008-03-19 zzz
- * ExploratoryPeerSelector:
- - Exclude floodfill peers
- - Tweak the HighCap vs. NonFailing decision; try NonFailing
- at least a minimum % of the time
- * i2psnark: Increase retries for .torrent fetch
- * IRC Proxy: Prevent mIRC from sending an alternate DCC request
- containing an IP
- * readme.html: Reorder some items
- * Stats: Add some more required stats
- * Streaming lib: Fix slow start to be exponential growth,
- fix congestion avoidance to be linear growth.
- Should speed up local connections a lot, and remote
- connections a little.
-
- 2008-03-14 zzz
- * Floodfill Search:
- - Prefer heard-from, unfailing, unshitlisted floodfill peers
-
- 2008-03-14 zzz
- * ProfileOrganizer:
- - Use more recent stats to calculate integration
- - Show that fast peers are also high-capacity on profiles.jsp
- * readme.html: Update Syndie link
- * TunnelPool: Update comments
- * netDb: Report 1-2h uptime as 90m to further frustrate tracking,
- get rid of the 60s tunnel stats
- (effective as of .33 to provide cover)
-
- 2008-03-13 zzz
- * Floodfill Search:
- - Fix a bug that caused a single FloodfillOnlySearchJob
- instance to be run multiple times, with unpredictable
- results
- - Select ff peers randomly to improve reliability
- - Add some bulletproofing
-
- 2008-03-11 zzz
- * ProfileOrganizer:
- - Don't require a peer to be high-capacity to be
- well-integrated (not used for anything right now,
- but want to get it right for possible floodfill verification)
- - Don't fall back to median for high-capacity threshold
- if the mean is higher than the median, this prevents
- frequent large high-capacity counts
- - Fix high-capacity selector that picked one too many
- * Console: put well-integrated count back in the summary
-
- 2008-03-10 zzz
- * EepGet: Fix byte count for bytesTransferred status listeners
- (fixes command line status)
- * UpdateHandler:
- - Fix byte count display
- - Display final status on router console
- - Don't allow multiple update jobs to queue up
- - Increase max retries
- - Code cleanup
- - Don't show 'check for update' button when update in progress
- - Enhance error messages
- * NetDb: Comment out published netDb stats disabled for .32
-
- 2008-03-08 zzz
- * TunnelPeerSelectors: Implement strict ordering of peers,
- based on XOR distance from a random hash
- separately generated for each tunnel pool
-
- 2008-03-07 zzz
- * Naming: Optimize lookups for a destkey
- * ProfileOrganizer, TunnelPoolSettings, ClientPeerSelector:
- - Prevent peers with matching IPs from joining same tunnel.
- Match 0-4 bytes of IP (0=off, 1=most restrictive, 4=least).
- Default is 2 (disallow routers in same /16).
- Set with router.defaultPool.IPRestriction=x
- - Comment out unused RebuildPeriod pool setting
- - Add random key to pool in preparation for XOR peer ordering
- * SusiMail: Add 'Create Account' link
- * TunnelDispatcher: Change a common wtf error to a warn
-
- 2008-03-05 zzz
- * Naming: Make HostsTxt the sole default NamingService
- (was Meta = PetName + HostsTxt)
- * Naming: Add two new experimental NamingServices, EepGet and Exec,
- not enabled by default -
- see source comments in core/java/src/net/i2p/client/naming
- for configuration instructions
- * i2psnark: Don't do a naming lookup for Base64 destkeys
- * i2psnark: Add a StartAll button
- * Stats: Add code to disable most stats to save memory.
- Set on configstats.jsp or set stat.full=false to disable the stats.
- (true by default for now)
-
- 2008-03-09 Complication
- * Give the Jetty build file ability to ask permission
- before downloading the Jetty archive from the web,
- and to verify its SHA1 + MD5 hashes. Adjust the main build file
- in accordance with this change.
- * Improve the release checklist.
-
- * 2008-03-09 0.6.1.32 released
-
- 2008-03-07 zzz
- * Update news and version numbers
-
- 2008-03-01 zzz
- * Fix netdb.knownLeaseSets count reported by floodfill routers
- (was broken by -3)
-
- 2008-02-27 zzz
- * i2ptunnel: Add 3-hop option to edit.jsp to match configtunnels.jsp
- * i2psnark: Remove orion and gaytorrents from default tracker list
- * Remove orion from jump list and from eepsite_index.html
- * Jbigi: Change jbigi version to 4.2.2 in build scripts - tested by amiga
- * Capitalize OutboundMessageDistributor job name
- * TunnelPool: Add a warning if all tunnels are backlogged
-
- 2008-02-26 zzz
- * Reintroduce NTCP backlog pushback, with switch back to
- previous tunnel when no longer backlogged
- * Catch an nio exception in an NTCP logging statement if loglevel is WARN
- * IRC Proxy: terminate all messages with \r\n (thanks TrivialPursuit!)
-
- 2008-02-21 zzz
- * Raise inbound default bandwidth to 32KBps
- * Fix config.jsp that showed 0KBps share bandwidth by default
-
- 2008-02-19 zzz
- * Addressbook: Disallow '--' in host names except in IDN,
- add some reserved host names
- * I2PTunnel: Clarify edit form
- * NetDb: Remove many stats from netDb, effective as of .32
- * profiles.jsp: Display capabilities
- * Tunnels: Enforce max tunnel length of 8, catch an index error
- http://forum.i2p/viewtopic.php?t=2561
-
- 2008-02-16 zzz
- * Fix race in TunnelDispatcher which caused
- participating tunnel count to seesaw -
- should increase network capacity
- * Leave participating tunnels in 10s batches for efficiency
- * Update participating tunnel ratestat when leaving a tunnel too,
- to generate a smoother graph
- * Fix tunnel.participatingMessageCount stat to include all
- participating tunnels, not just outbound endpoints
- * Simplify Expire Tunnel job name
-
- 2008-02-13 zzz
- * PersistentDataStore: Write out 300 records every 10 min
- rather than 1 every 10 sec;
- Don't store leasesets to disk or read them in
- * Combine rates for pools with the same length setting
- in the new tunnel build algorithm
- * Clarify a log message in the UpdateHandler
-
- 2008-02-13 zzz
- * Make graphs clickable to get larger graphs
- * Change SimpleTimer CRIT to a WARN, increase threshold
- * Checklist update
-
- 2008-02-11 welterde
- * Fix an NPE in UDP http://forum.i2p/viewtopic.php?t=2545
-
- 2008-02-10 zzz
- * Add new tunnel build algorithm (preliminary)
- * Change NTCP backlogged message from error to warning
- * Checklist updates
-
- * 2008-02-10 0.6.1.31 released
-
- 2008-02-10 Complication
- * Update news and version numbers
-
- 2008-02-06 zzz
- * build.xml: Add some apps to javadoc
- * checklist.txt: Add some things
- * news.xml: make links relative
- * runplain.sh: Add some comments
- * wrapper.config: Add some comments
-
- 2008-02-05 Complication
- * Change the dates too (sorry for such forgetfulness!)
-
- 2008-02-04 Complication
- * Also use the new key for checking, and add it into news.xml
-
- 2008-02-04 Complication
- * Added my release signing key into TrustedUpdate.java
-
- 2008-01-31 zzz
- * NewsFetcher: Change fetch failed from error to warning
- * installer: Fix URL and "email"
- * checklist.txt: New release checklist
-
- 2008-01-29 zzz
- * Addressbook: Change default subscription
- * ConfigUpdateHandler: Change default news URL
- * initialNews.xml: Update version to .31
- * news.xml: More updates
- * hosts.txt: Add i2p-projekt.i2p
- * readme.html: More URL updates
- * SusiDNS: Change references to default subscription
-
- 2008-01-28 zzz
- * news.xml: Updates, still preliminary
- * ReseedHandler: Change default URL
- * i2ptunnel.config: Change default outproxies
- * readme.html: Change *.i2p.net URLs
- * help.jsp: Change *.i2p.net URLs
- * eepsite_index.html: Change stats.i2p addressbook subscription URL
- * hosts.txt: Add krabs.i2p, true.i2p, www.i2p2.i2p
-
- * 2008-01-28 0.6.1.30-20 converted from CVS to MTN
-
- 2008-01-08 zzz
- * addressbook: Limit size of subscribed hosts.txt,
- don't save old etag or last-modified data
- * EepGet: Add some logging,
- enforce size limits even when size not in returned header,
- don't return old etag or last-modified data,
- don't call transferFailed listener more than once
- * Sign my update signing key
- * NewsFetcher: add last-modified support, reduce number of retries
- * Error pages: add icon and logo,
- clarify 'destination not found' and 'proxy not found' pages
-
- 2008-01-07 zzz
- * profiles.jsp formatting cleanup
- * NTCP: Reduce max idle time from 60m to 20m
- * NTCP: Fix idle time on connections with zero messages,
- correctly drop these connections
-
- 2008-01-03 zzz
- * addressbook: Do basic validation of hostnames and destkeys
- * susidns: Add support for the private addressbook,
- update the text and links somewhat
-
- 2008-01-02 zzz
- * Add stats.i2p to the jump list
- * Impose 20MB limit on POSTs and catch OOMs in POST
- * eepsite_index.html: add stats.i2p services
- * addressbook: log source of new keys; disallow dests > 516 bytes
- * addressbook: convert hostnames to lower case to prevent duplicates
- * susidns: generalize references to orion
-
- 2007-12-29 zzz
- * Tweak IRC inbound PONG filtering to fix xchat/BitchX lagometers
- * Allow commas in router.trustedUpdateKeys and router.updateURL again
- * Change default news host from dev.i2p.net to dev.i2p
- * Change jetty timeout from 30 to 60 sec (thanks sponge!)
-
- 2007-12-28 zzz
- * Add zzz's update signing key
-
- 2007-12-26 Complication
- * Improve reseed handler (less repetitive code,
- avoid reporting errors when less than 10% of fetches fail)
-
- 2007-12-26 Complication
- * Escape both CR, LF and CR LF line breaks in Router.saveConfig()
- and unescape them in DataHelper.loadProps() to support
- saving and loading config properties with line breaks
- * Change the update URLs textbox into a textarea like keys have,
- so different URLs go on different lines
- * Modify TrustedUpdate to provide a method which supplies a key list
- delimited with CR LF line breaks
- * Modify DEFAULT_UPDATE_URL to supply a default URL list
- delimited with CR LF line breaks
- * Modify selectUpdateURL() to handle URL lists
- delimited by any kind of line breaks
- * Start saving trusted update keys
- * Improve formatting on configupdate.jsp
-
- 2007-12-22 zzz
- * Add support for multiple update URLs
- * Change default for update to use i2p proxy,
- add several URLs as defaults
- * Enable trusted key form on configupdate.jsp
- * Clarify the 'destination not found' error page
-
- 2007-12-16 zzz
- * i2psnark: remove anonymitytracker from default list
-
- 2007-12-10 zzz
- * Fix NPE in CLI TrustedUpdate keygen
-
- 2007-12-02 Complication
- * Commit SAM v2 patch from mkvore (thank you!)
- * Minor reformatting to preserve consistent whitespace
- in old SAM classes (new classes unaltered)
-
- 2007-12-01 Complication
- * Separate the checks "does Jetty .zip file need downloading"
- and "does Jetty .zip file need extracting" in the Jetty buildfile.
- First download (unless already done), then extract (unless done).
-
- 2007-11-26 zzz
- * i2psnark: add timeout for receive inactivity
-
- 2007-11-24 zzz
- * i2psnark: increase streaming lib write timeout to 240 sec and change
- timeout action from "ping" to "disconect", as the fix in .30 to
- honor options on outbound connections led to hung outbound connections
- (bitfield never transmitted, connection never dropped)
-
- 2007-11-06 jrandom
- * add i2host.i2p to the jump list
-
- 2007-10-11 zzz
- * IRC Proxy: Fix several possible anonymity holes:
- - Block CTCP in NOTICE messages
- - Block CTCP anywhere in PRIVMSG and NOTICE, not just at first character
- - Check for lower case commands
- (Thanks sponge!)
-
- 2007-10-07 jrandom
- * back out the NTCP backlog pushback, as it could be used to mount an
- active anonymity attack.
-
- * 2007-10-07 0.6.1.30 released
-
- 2007-10-07 Complication
- * Fix an issue in EepGet whereby sending of "etag" and "lastModified" headers
- broke retrying.
-
- 2007-09-27 zzz
- * Implement pushback of NTCP transport backlog to the outbound tunnel selection code
- * Clean up the NTCP and UDP tables on peers.jsp to be consistent,
- fix some of the sorting
-
- 2007-09-22 zzz
- * Send messages for the same destination out the same outbound
- tunnel to reduce out-of-order delivery.
-
- 2007-09-19 zzz
- * i2psnark: Fix broken multifile torrent Delete;
- cleanup Storage resources in AddTorrent;
- don't autostart torrent after Create
-
- 2007-09-18 zzz
- * eepsite_index.html: Add links to trevorreznik address book
- * streaming lib: Fix SocketManagerFactory to honor options on outbound connections
- * streaming lib: Fix setDefaultOptions() when called with a ConnectionOptions parameter
- * i2psnark: Don't make outbound connections to already-connected peers
- * i2psnark: Debug logging cleanup
-
- 2007-09-14 zzz
- * eepget: Increase header timeout to 45s
- * HTTP proxy: Return a better error message for localhost requests
- * tunnels: Fix PooledTunnelCreatorConfig memory leak
-
- 2007-09-09 zzz
- * eepget: Add support for Last-Modified and If-Modified-Since
- * addressbook: Finish incomplete support for Last-Modified
-
- 2007-09-08 zzz
- * eepget: Copy over SocketTimeout.java file from syndie
-
- 2007-09-07 jrandom
- * eepget: Merge timeout support from syndie
-
- * 2007-08-23 0.6.1.29 released
-
- 2007-08-12 zzz
- * readme.html - Add inproxy.tino.i2p, replace search.i2p with eepsites.i2p,
- tweak the eepsite and troubleshooting sections
-
- 2007-08-11 zzz
- * Add stats for individual tunnel rates (nice when graphed)
- * i2psnark: Fix outbound tunnel nickname
-
- 2007-08-05 Complication
- * Update the sharing calculator on config.jsp
- and explain the trade-off even more thoroughly.
-
- 2007-08-04 Complication
- * Lower the threshold between the K and L bandwidth class,
- so that K is now < 12 KB/s, instead of <= 16 KB/s.
- Hopefully this lets people with 128 kbit/s (16 KB/s) upload lines
- participate in routing, if they keep the default share percentage.
-
- 2007-07-16 zzz
- * i2psnark: Add tooltip info for choked/uninterested
-
- 2007-07-16 zzz
- * Make selection of graphed data configurable via configstats.jsp,
- remove most of the default graphs to save some memory
-
- 2007-07-15 zzz
- * Add current values to graph legends
- * Fix up previous Rate fix to check for divide by zero
-
- 2007-07-14 Complication
- * Take the post-download routerInfo size check back out of ReseedHandler,
- since it wasn't helpful, and a lower limit caused false warnings.
- * Give EepGet ability to enforce a min/max HTTP response size.
- * Enforce a maximum response size of 8 MB when ReseedHandler
- downloads into a ByteArrayOutputStream.
- * Refactor ReseedHandler/ReseedRunner from static to ordinary classes,
- change invocation from RouterConsoleRunner accordingly.
- * Add an EepGet status listener to ReseedHandler to log causes of reseed failure,
- provide status reports to indicate the progress of reseeding.
- * Enable icon for default eepsite, and the index page
- of the router console (more later).
-
- 2007-07-14 zzz
- * Clean up graphs.jsp - set K=1024 where appropriate,
- output image sizes in html, catch ooms, other minor tweaks
- * Fix current event count truncation which fixes graphs with low
- 60-sec event counts displaying high values
- (bw.* and router.* graphs for example were 1.5x too high)
- Affects all "events per period" (non-lifetime) counts.
-
- 2007-07-09 zzz
- * i2psnark: give a better error message for a non-i2p torrent
-
- 2007-07-07 zzz
- * Add auto-detect IP/Port to NTCP. When enabled on config.jsp,
- SSU will notify/restart NTCP when the external address changes.
- Now you can enable inbound TCP without a static IP or dyndns service.
-
- 2007-07-04 zzz
- * Display calculated share bandwidth and remove load testing
- on config.jsp
-
- 2007-07-01 zzz
- * Replace broken option i2np.udp.alwaysPreferred with
- i2np.udp.preferred and adjust UDP bids; possible settings are
- "false" (default), "true", and "always".
- Default setting results in same behavior as before
- (NTCP is preferred unless it isn't established and UDP is established).
- Use to compare NTCP and UDP transports.
-
- 2007-06-27 jrandom
- * fix for a streaming lib bug that could leave a thread waiting
- indefinitely (thanks Complication!)
-
- 2007-06-16 Complication
- * First pass on EepGet and ReseedHandler improvements,
- please avoid use on routers which matter!
- * Give EepGet ability of downloading into an OutputStream,
- such as the ByteArrayOutputStream of ReseedHandler.
- * Detect failure to reseed better, report it persistently
- and more verbosely, provide a link to logs
- and suggest manual reseed.
-
- 2007-05-06 Complication
- * Fix the build.xml file, so the preppkg build target won't try copying files
- which became deprecated with the old Syndie (thanks for alerting, itsu!)
-
- 2007-03-31 zzz
- * Add trevorreznik jump server to the http proxy error page
- * Add anonymity to the trackers supporting details links in i2psnark
-
- 2007-03-24 zzz
- * Remove Syndie from build targets and navbar
-
- 2007-03-22 zzz
- * i2psnark tracker handling tweaks:
- - Add link to tracker details page (Postman only for now, requires bytemonsoon patch)
- - Add Base URL to tracker list configuration
- - Web page links built from tracker list Base URLs
- - Only build and sort tracker list once
- - Add anonymityWeb tracker to default list
- - Add tooltip info for TrackerErrs
- - Stop torrent if not registered with tracker
- - Mark temp files as delete on exit
-
- 2007-03-18 zzz
- * i2psnark: Cleanup some handling of saved partial pieces
- * i2psnark: Put bit counting in Bitfield.java for efficiency
- * i2psnark: Save torrent completion state in i2psnark.config
-
- * 2007-03-17 0.6.1.28 released
-
- 2007-03-13 zzz
- * i2psnark: Make max total uploaders configurable (thanks Amiga4000!)
-
- 2007-03-12 jrandom
- * dodge a race on startup (thanks zzz!)
-
- 2007-03-10 zzz
- * Streaming lib: Change initial RTT deviation from RTT to RTT/2
- (RFC 2988) to reduce early RTO values
-
- 2007-03-08 zzz
- * i2psnark changes to improve upload performance:
- * Implement total uploader limit (10)
- * Don't timeout non-piece messages out
- * Change chunk size to 32K (was 64K)
- * Change request limit to 64K (was 256K)
- * i2psnark: Disconnect from seeds when complete
-
- 2007-03-07 zzz
- * Remove dynamic router keys from config.jsp
-
- 2007-03-07 zzz
- * Streaming lib changes to improve upstream performance during congestion:
- * Change min window size from 12 to 1
- * Change max timeout from 10 to 45 sec
- * Change initial timeout from 10 to 15 sec
- * Change intial window size for i2psnark from 12 to 1
- * Change slow start growth rate for i2psnark from 1/2 to 1
-
- 2007-03-04 zzz
- * Update eepsite_index.html
-
- 2007-03-03 zzz
- * Upgrade from Jetty 5.1.6 to 5.1.12 which fixes spaces in URL
- * Add a updaterWithJetty build target
-
- 2007-03-03 zzz
- * Implement priority sending for NTCP
- * Disable trimForOverload() in tunnel BuildExecutor which
- was preventing tunnel builds when outbound traffic was high
- (i.e. most of the time when running i2psnark)
-
- 2007-02-28 zzz
- * i2psnark: File reopen cleanup
-
- 2007-02-28 zzz
- * i2psnark: Add peer details to web page
-
- * 2007-02-15 0.6.1.27 released
-
- 2007-02-15 jrandom
- * Limit the whispering floodfill sends to at most 3 randomly
- chosen from the known floodfill peers
-
- 2007-02-14 jrandom
- * Don't filter out KICK and H(ide oper status) IRC messages
- (thanks Takk and postman!)
-
- 2007-02-13 jrandom
- * Tell our peers about who we know in the floodfill netDb every
- 6 hours or so, mitigating the situation where peers lose track
- of floodfill routers.
- * Disable the Syndie updater (people should use the new Syndie,
- not this one)
- * Disable the eepsite tunnel by default
-
- 2007-01-30 zzz
- * i2psnark: Don't hold _snarks lock while checking a snark,
- so web page is responsive at startup
-
- 2007-01-29 zzz
- * i2psnark: Add NickyB tracker
-
- 2007-01-28 zzz
- * i2psnark: Don't hold sendQueue lock while flushing output,
- to make everything run smoother
-
- 2007-01-27 zzz
- * i2psnark: Fix orphaned Snark reader tasks leading to OOMs
-
- 2007-01-20 Complication
- * Drop overlooked comment
-
- 2007-01-20 Complication
- * Modify ReseedHandler to query the "i2p.reseedURL" property from I2PAppContext
- instead of System, so setting a reseed URL in advanced configuration has effect.
- * Clean out obsolete reseed code from ConfigNetHandler.
-
- 2007-01-20 zzz
- * i2psnark: More choking rotation tweaks
- * Improve performance by not reading in the whole
- piece from disk for each request. A huge memory savings
- on 1MB torrents with many peers.
-
- 2007-01-17 zzz
- * Add new HTTP Proxy error message for non-http protocols
-
- 2007-01-17 zzz
- * Add note on Syndie index.html steering people to new Syndie
-
- 2007-01-16 zzz
- * i2psnark: Fix crash when autostart off and
- tcrrent started manually
-
- 2007-01-16 zzz
- * i2psnark: Fix bug caused by last i2psnark checkin
- (ConnectionAcceptor not started)
- * Don't start PeerCoordinator, ConnectionAcceptor,
- and TrackerClient unless starting torrent
-
- 2007-01-15 jrandom
- * small guard against unnecessary streaming lib reset packets
- (thanks Complication!)
-
- 2007-01-15 zzz
- * i2psnark: Add 'Stop All' link on web page
- * Add some links to trackers and forum on web page
- * Don't start tunnel if 'Autostart' unchecked
- * Fix torrent restart bug by reopening file descriptors
-
- 2007-01-14 zzz
- * i2psnark: Improvements for torrents with > 4 leechers:
- choke based on upload rate when seeding, and
- be smarter and fairer about rotating choked peers.
- * Handle two common i2psnark OOM situations rather
- than shutting down the whole thing.
- * Fix reporting to tracker of remaining bytes for
- torrents > 4GB (but ByteMonsoon still has a bug)
-
- 2006-10-29 zzz
- * i2psnark: Fix and enable generation of multifile torrents,
- print error if no tracker selected at create-torrent,
- fix stopping a torrent that hasn't started successfully,
- add eBook and GayTorrents trackers to form,
- web page formatting tweaks
-
- * 2006-10-10 0.6.1.26 released
-
- 2006-10-29 Complication
- * Ensure we get NTP samples from more diverse sources
- (0.pool.ntp.org, 1.pool.ntp.org, etc)
- * Discard median-based peer skew calculator as framed average works,
- and adjusting its percentage can make it behave median-like
- * Require more data points (from at least 20 peers)
- before considering a peer skew measurement reliable
-
- 2006-10-10 jrandom
- * Removed the status display from the console, as its more confusing
- than informative (though the content is still displayed in the HTML)
-
- 2006-10-08 Complication
- * Add a framed average peer clock skew calculator
- * Add config property "router.clockOffsetSanityCheck" to determine
- if NTP-suggested clock offsets get sanity checked (default "true")
- * Reject NTP-suggested clock offsets if they'd increase peer clock skew
- by more than 5 seconds, or make it more than 20 seconds total
- * Decrease log level in getMedianPeerClockSkew()
-
- 2006-09-29 zzz
- * i2psnark: Second try at synchronization fix - synch addRequest()
- completely rather than just portions of it and requestNextPiece()
-
- 2006-09-27 jrandom
- * added HMAC-SHA256
- * properly use CRLF with EepPost
- * suppress jbigi/jcpuid messages if jbigi.dontLog/jcpuid.dontLog is set
- * PBE session key generation (with 1000 rounds of SHA256)
- * misc SDK helper functions
-
- 2006-09-26 Complication
- * Take back another inadverent logging change in NTCPConnection
-
- 2006-09-26 Complication
- * Take back an accidental log level change
-
- 2006-09-26 Complication
- * Subclass from Clock a RouterClock which can access router transports,
- with the goal of developing it to second-guess NTP results
- * Make transports report clock skew in seconds
- * Adjust renderStatusHTML() methods accordingly
- * Show average for NTCP clock skews too
- * Give transports a getClockSkews() method to report clock skews
- * Give transport manager a getClockSkews() method to aggregate results
- * Give comm system facade a getMedianPeerClockSkew() method which RouterClock calls
- (to observe results, add "net.i2p.router.transport.CommSystemFacadeImpl=WARN" to logging)
- * Extra explicitness in NTCP classes to denote unit of time.
- * Fix some places in NTCPConnection where milliseconds and seconds were confused
-
- 2006-09-25 zzz
- * i2psnark: Paranoid copy before writing pieces,
- recheck files on completion, redownload bad pieces
- * i2psnark: Don't contact tracker as often when seeding
-
- 2006-09-24 zzz
- * i2psnark: Add some synchronization to prevent rare problem
- after restoring orphan piece
-
- 2006-09-20 zzz
- * i2psnark: Eliminate duplicate requests caused by i2p-bt's
- rapid choke/unchokes
- * i2psnark: Truncate long TrackerErr messages on web page
-
- 2006-09-16 zzz
- * i2psnark: Implement retransmission of requests. This
- eliminates one cause of complete stalls with a peer.
- This problem is common on torrents with a small number of
- active peers where there are no choke/unchokes to kickstart things.
-
- 2006-09-13 zzz
- * i2psnark: Fix restoral of partial pieces broken by last patch
-
- 2006-09-13 zzz
- * i2psnark: Mark a peer's requests as unrequested on disconnect,
- preventing premature end game
- * i2psnark: Randomize selection of next piece during end game
- * i2psnark: Don't restore a partial piece to a peer that is already working on it
- * i2psnark: strip ".torrent" on web page
- * i2psnark: Limit piece size in generated torrent to 1MB max
-
- 2006-09-09 zzz
- * i2psnark: Add "Stalled" indication and stat totals on web page
-
- 2006-09-09 zzz
- * i2psnark: Fix bug where new peers would always be sent an "interested"
- regardless of actual interest
- * i2psnark: Reduce max piece size from 10MB to 1MB; larger may have severe
- memory and efficiency problems
-
- * 2006-09-09 0.6.1.25 released
-
- 2006-09-08 jrandom
- * Tweak the PRNG logging so it only displays error messages if there are
- problems
- * Disable dynamic router keys for the time being, as they don't offer
- meaningful security, may hurt the router, and makes it harder to
- determine the network health. The code to restart on SSU IP change is
- still enabled however.
- * Disable tunnel load testing, leaning back on the tiered selection for
- the time being.
- * Spattering of bugfixes
-
- 2006-09-07 zzz
- * i2psnark: Increase output timeout from 2 min to 4 min
- * i2psnark: Orphan debug msg cleanup
- * i2psnark: More web rate report cleanup
-
- 2006-09-05 zzz
- * i2psnark: Implement basic partial-piece saves across connections
- * i2psnark: Implement keep-alive sending. This will keep non-i2psnark clients
- from dropping us for inactivity but also renders the 2-minute transmit-inactivity
- code in i2psnark ineffective. Will have to research why there is transmit but
- not receive inactivity code. With the current connection limit of 24 peers
- we aren't in any danger of keeping out new peers by keeping inactive ones.
- * i2psnark: Increase CHECK_PERIOD from 20 to 40 since nothing happens in 20 seconds
- * i2psnark: Fix dropped chunk handling
- * i2psnark: Web rate report cleanup
-
- 2006-09-04 zzz
- * i2psnark: Report cleared trackerErr immediately
- * i2psnark: Add trackerErr reporting after previous success; retry more quickly
- * i2psnark: Set up new connections more quickly
- * i2psnark: Don't delay tracker fetch when setting up lots of connections
- * i2psnark: Reduce MAX_UPLOADERS from 12 to 4
-
- 2006-09-04 zzz
- * Enable pipelining in i2psnark
- * Make i2psnark tunnel default be 1 + 0-1
-
- 2006-09-03 zzz
- * Add rate reporting to i2psnark
-
- 2006-09-03 Complication
- * Limit form size in SusiDNS to avoid exceeding a POST size limit on postback
- * Print messages about addressbook size to give better overview
- * Enable delete function in published addressbook
-
- 2006-08-21 Complication
- * Fix error reporting discrepancy (thanks for helping notice, yojoe!)
-
- 2006-08-03 jrandom
- * Decrease the recently modified tunnel building timeout, though keep
- the scaling on their processing
-
- 2006-07-31 jrandom
- * Increase the tunnel building timeout
- * Avoid a rare race (thanks bar!)
- * Fix the bandwidth capacity publishing code to factor in share percentage
- and outbound throttling (oops)
-
- 2006-07-29 Complication
- * Treat NTP responses from unexpected stratums like failures
-
- * 2006-07-28 0.6.1.24 released
-
- 2006-07-28 jrandom
- * Don't try to reverify too many netDb entries at once (thanks
- cervantes and Complication!)
-
- 2006-07-28 jrandom
- * Actually fix the threading deadlock issue in the netDb (removing
- the synchronized access to individual kbuckets while validating
- individual entries) (thanks cervantes, postman, frosk, et al!)
-
- * 2006-07-27 0.6.1.23 released
-
- 2006-07-27 jrandom
- * Cut down NTCP connection establishments once we know the peer is skewed
- (rather than wait for full establishment before verifying)
- * Removed a lock on the stats framework when accessing rates, which
- shouldn't be a problem, assuming rates are created (pretty much) all at
- once and merely updated during the lifetime of the jvm.
-
- 2006-07-27 jrandom
- * Further NTCP write status cleanup
- * Handle more oddly-timed NTCP disconnections (thanks bar!)
-
- 2006-07-26 jrandom
- * When dropping a netDb router reference, only accept newer
- references as part of the update check
- * If we have been up for a while, don't accept really old
- router references (published 2 or more days ago)
- * Drop router references once they are no longer valid, even if
- they were allowed in due to the lax restrictions on startup
-
- 2006-07-26 jrandom
- * Every time we create a new router identity, add an entry to the
- new "identlog.txt" text file in the I2P install directory. For
- debugging purposes, publish the count of how many identities the
- router has cycled through, though not the identities itself.
- * Cleaned up the way the multitransport shitlisting worked, and
- added per-transport shitlists
- * When dropping a router reference locally, first fire a netDb
- lookup for the entry
- * Take the peer selection filters into account when organizing the
- profiles (thanks Complication!)
- * Avoid some obvious configuration errors for the NTCP transport
- (invalid ports, "null" ip, etc)
- * Deal with some small NTCP bugs found in the wild (unresolveable
- hosts, strange network discons, etc)
- * Send our netDb info to peers we have direct NTCP connections to
- after each 6-12 hours of connection uptime
- * Clean up the NTCP reading and writing queue logic to avoid some
- potential delays
- * Allow people to specify the IP that the SSU transport binds on
- locally, via the advanced config "i2np.udp.bindInterface=1.2.3.4"
-
- * 2006-07-18 0.6.1.22 released
-
- 2006-07-18 jrandom
- * Add a failsafe to the NTCP transport to make sure we keep
- pumping writes when we should.
- * Properly reallow 16-32KBps routers in the default config
- (thanks Complication!)
-
- 2006-07-16 Complication
- * Collect tunnel build agree/reject/expire statistics
- for each bandwidth tier of peers (and peers of unknown tiers,
- even if those shouldn't exist)
-
- 2006-07-14 jrandom
- * Improve the multitransport shitlisting (thanks Complication!)
- * Allow routers with a capacity of 16-32KBps to be used in tunnels under
- the default configuration (thanks for the stats Complication!)
- * Properly allow older router references to load on startup
- (thanks bar, Complication, et al!)
- * Add a new "i2p.alwaysAllowReseed" advanced config property, though
- hopefully today's changes should make this unnecessary (thanks void!)
- * Improved NTCP buffering
- * Close NTCP connections if we are too backlogged when writing to them
-
- 2006-07-04 jrandom
- * New NIO-based tcp transport (NTCP), enabled by default for outbound
- connections only. Those who configure their NAT/firewall to allow
- inbound connections and specify the external host and port
- (dyndns/etc is ok) on /config.jsp can receive inbound connections.
- SSU is still enabled for use by default for all users as a fallback.
- * Substantial bugfix to the tunnel gateway processing to transfer
- messages sequentially instead of interleaved
- * Renamed GNU/crypto classes to avoid name clashes with kaffe and other
- GNU/Classpath based JVMs
- * Adjust the Fortuna PRNG's pooling system to reduce contention on
- refill with a background thread to refill the output buffer
- * Add per-transport support for the shitlist
- * Add a new async pumped tunnel gateway to reduce tunnel dispatcher
- contention
-
- 2006-07-01 Complication
- * Ensure that the I2PTunnel web interface won't update tunnel settings
- for shared clients when a non-shared client is modified
- (thanks for spotting, BarkerJr!)
-
- 2006-06-14 cervantes
- * Small tweak to I2PTunnel CSS, so it looks better with desktops
- that use Bitstream Vera fonts @ 96 dpi
-
- * 2006-06-14 0.6.1.21 released
-
- 2006-06-13 jrandom
- * Use a minimum uptime of 2 hours, not 4 (oops)
-
- 2006-06-13 jrandom
- * Cut down the proactive rejections due to queue size - if we are
- at the point of having decrypted the request off the queue, might
- as well let it through, rather than waste that decryption
-
- 2006-06-11 Kloug
- * Bugfix to the I2PTunnel IRC filter to support multiple concurrent
- outstanding pings/pongs
-
- 2006-06-10 jrandom
- * Further reduction in proactive rejections
-
- 2006-06-09 jrandom
- * Don't let the pending tunnel request queue grow beyond reason
- (letting things sit for up to 30s when they fail after 10s
- seems a bit... off)
-
- 2006-06-08 jrandom
- * Be more conservative in the proactive rejections
-
- 2006-06-04 Complication
- * Trim out sending a blank line before USER in susimail.
- Seemed to break in rare cases, thanks for reporting, Brachtus!
-
- * 2006-06-04 0.6.1.20 released
-
- 2006-06-04 jrandom
- * Reduce the SSU ack frequency
- * Tweaked the tunnel rejection settings to reject less aggressively
-
- 2006-05-31 jrandom
- * Only send netDb searches to the floodfill peers for the time being
- * Add some proof of concept filters for tunnel participation. By default,
- it will skip peers with an advertised bandwith of less than 32KBps or
- an advertised uptime of less than 2 hours. If this is sufficient, a
- safer implementation of these filters will be implemented.
-
- * 2006-05-18 0.6.1.19 released
-
- 2006-05-18 jrandom
- * Made the SSU ACKs less frequent when possible
-
- 2006-05-17 Complication
- * Fix some oversights in my previous changes:
- adjust some loglevels, make a few statements less wasteful,
- make one comparison less confusing and more likely to log unexpected values
-
- 2006-05-17 jrandom
- * Make the peer page sortable
- * SSU modifications to cut down on unnecessary connection failures
-
- 2006-05-16 jrandom
- * Further shitlist randomizations
- * Adjust the stats monitored for detecting cpu overload when dropping new
- tunnel requests
-
- 2006-05-15 jrandom
- * Add a load dependent throttle on the pending inbound tunnel request
- backlog
- * Increased the tunnel test failure slack before killing a tunnel
-
- 2006-05-13 Complication
- * Separate growth factors for tunnel count and tunnel test time
- * Reduce growth factors, so probabalistic throttle would activate
- * Square probAccept values to decelerate stronger when far from average
- * Create a bandwidth stat with approximately 15-second half life
- * Make allowTunnel() check the 1-second bandwidth for overload
- before doing allowance calculations using 15-second bandwidth
- * Tweak the overload detector in BuildExecutor to be more sensitive
- for rising edges, add ability to initiate tunnel drops
- * Add a function to seek and drop the highest-rate participating tunnel,
- keeping a fixed+random grace period between such drops.
- It doesn't seem very effective, so disabled by default
- ("router.dropTunnelsOnOverload=true" to enable)
-
- 2006-05-11 jrandom
- * PRNG bugfix (thanks cervantes and Complication!)
-
- * 2006-05-09 0.6.1.18 released
-
- 2006-05-09 jrandom
- * Further tunnel creation timeout revamp
-
- 2006-05-07 Complication
- * Fix problem whereby repeated calls to allowed() would make
- the 1-tunnel exception permit more than one concurrent build
-
- 2006-05-06 jrandom
- * Readjust the tunnel creation timeouts to reject less but fail earlier,
- while tracking the extended timeout events.
-
- 2006-05-04 jrandom
- * Short circuit a highly congested part of the stat logging unless its
- required (may or may not help with a synchronization issue reported by
- andreas)
-
- 2006-05-03 Complication
- * Allow a single build attempt to proceed despite 1-minute overload
- only if the 1-second rate shows enough spare bandwidth
- (e.g. overload has already eased)
-
- 2006-05-02 Complication
- * Correct a misnamed property in SummaryHelper.java
- to avoid confusion
- * Make the maximum allowance of our own concurrent
- tunnel builds slightly adaptive: one concurrent build per 6 KB/s
- within the fixed range 2..10
- * While overloaded, try to avoid completely choking our own build attempts,
- instead prefer limiting them to 1
-
- 2006-05-01 jrandom
- * Adjust the tunnel build timeouts to cut down on expirations, and
- increased the SSU connection establishment retransmission rate to
- something less glacial.
- * For the first 5 minutes of uptime, be less aggressive with tunnel
- exploration, opting for more reliable peers to start with.
-
- 2006-05-01 jrandom
- * Fix for a netDb lookup race (thanks cervantes!)
-
- 2006-04-27 jrandom
- * Avoid a race in the message reply registry (thanks cervantes!)
-
- 2006-04-27 jrandom
- * Fixed the tunnel expiration desync code (thanks Complication!)
-
- * 2006-04-23 0.6.1.17 released
-
- 2006-04-19 jrandom
- * Adjust how we pick high capacity peers to allow the inclusion of fast
- peers (the previous filter assumed an old usage pattern)
- * New set of stats to help track per-packet-type bandwidth usage better
- * Cut out the proactive tail drop from the SSU transport, for now
- * Reduce the frequency of tunnel build attempts while we're saturated
- * Don't drop tunnel requests as easily - prefer to explicitly reject them
-
- * 2006-04-15 0.6.1.16 released
-
- 2006-04-15 jrandom
- * Adjust the proactive tunnel request dropping so we will reject what we
- can instead of dropping so much (but still dropping if we get too far
- overloaded)
-
- 2006-04-14 jrandom
- * 0 isn't very random
- * Adjust the tunnel drop to be more reasonable
-
- 2006-04-14 jrandom
- * -28.00230115311259 is not between 0 and 1 in any universe I know.
- * Made the bw-related tunnel join throttle much simpler
-
- 2006-04-14 jrandom
- * Make some more stats graphable, and allow some internal tweaking on the
- tunnel pairing for creation and testing.
-
- * 2006-04-13 0.6.1.15 released
-
- 2006-04-12 jrandom
- * Added a further failsafe against trying to queue up too many messages to
- a peer.
-
- 2006-04-12 jrandom
- * Watch out for failed syndie index fetches (thanks bar!)
-
- 2006-04-11 jrandom
- * Throttling improvements on SSU - throttle all transmissions to a peer
- when we are retransmitting, not just retransmissions. Also, if
- we're already retransmitting to a peer, probabalistically tail drop new
- messages targetting that peer, based on the estimated wait time before
- transmission.
- * Fixed the rounding error in the inbound tunnel drop probability.
-
- 2006-04-10 jrandom
- * Include a combined send/receive graph (good idea cervantes!)
- * Proactively drop inbound tunnel requests probabalistically as the
- estimated queue time approaches our limit, rather than letting them all
- through up to that limit.
-
- 2006-04-08 jrandom
- * Stat summarization fix (removing the occational holes in the jrobin
- graphs)
-
- 2006-04-08 jrandom
- * Process inbound tunnel requests more efficiently
- * Proactively drop inbound tunnel requests if the queue before we'd
- process it in is too long (dynamically adjusted by cpu load)
- * Adjust the tunnel rejection throttle to reject requeusts when we have to
- proactively drop too many requests.
- * Display the number of pending inbound tunnel join requests on the router
- console (as the "handle backlog")
- * Include a few more stats in the default set of graphs
-
- 2006-04-06 jrandom
- * Fix for a bug in the new irc ping/pong filter (thanks Complication!)
-
- 2006-04-06 jrandom
- * Fixed a typo in the reply cleanup code
-
- * 2006-04-05 0.6.1.14 released
-
- 2006-04-05 jrandom
- * Cut down on the time that we allow a tunnel creation request to sit by
- without response, and reject tunnel creation requests that are lagged
- locally. Also switch to a bounded FIFO instead of a LIFO
- * Threading tweaks for the message handling (thanks bar!)
- * Don't add addresses to syndie with blank names (thanks Complication!)
- * Further ban clearance
-
- 2006-04-05 jrandom
- * Fix during the ssu handshake to avoid an unnecessary failure on
- packet retransmission (thanks ripple!)
- * Fix during the SSU handshake to use the negotiated session key asap,
- rather than using the intro key for more than we should (thanks ripple!)
- * Fixes to the message reply registry (thanks Complication!)
- * More comprehensive syndie banning (for repeated pushes)
- * Publish the router's ballpark bandwidth limit (w/in a power of 2), for
- testing purposes
- * Put a floor back on the capacity threshold, so too many failing peers
- won't cause us to pick very bad peers (unless we have very few good
- ones)
- * Bugfix to cut down on peers using introducers unneessarily (thanks
- Complication!)
- * Reduced the default streaming lib message size to fit into a single
- tunnel message, rather than require 5 tunnel messages to be transferred
- without loss before recomposition. This reduces throughput, but should
- increase reliability, at least for the time being.
- * Misc small bugfixes in the router (thanks all!)
- * More tweaking for Syndie's CSS (thanks Doubtful Salmon!)
-
- 2006-04-01 jrandom
- * Take out the router watchdog's teeth (don't restart on leaseset failure)
- * Filter the IRC ping/pong messages, as some clients send unsafe
- information in them (thanks aardvax and dust!)
-
- 2006-03-30 jrandom
- * Substantially reduced the lock contention in the message registry (a
- major hotspot that can choke most threads). Also reworked the locking
- so we don't need per-message timer events
- * No need to have additional per-peer message clearing, as they are
- either unregistered individually or expired.
- * Include some of the more transient tunnel throttling
-
- * 2006-03-26 0.6.1.13 released
-
- 2006-03-25 jrandom
- * Added a simple purge and ban of syndie authors, shown as the
- "Purge and ban" button on the addressbook for authors that are already
- on the ignore list. All of their entries and metadata are deleted from
- the archive, and the are transparently filtered from any remote
- syndication (so no user on the syndie instance will pull any new posts
- from them)
- * More strict tunnel join throtting when congested
-
- 2006-03-24 jrandom
- * Try to desync tunnel building near startup (thanks Complication!)
- * If we are highly congested, fall back on only querying the floodfill
- netDb peers, and only storing to those peers too
- * Cleaned up the floodfill-only queries
-
- 2006-03-21 jrandom
- * Avoid a very strange (unconfirmed) bug that people using the systray's
- browser picker dialog could cause by disabling the GUI-based browser
- picker.
- * Cut down on subsequent streaming lib reset packets transmitted
- * Use a larger MTU more often
- * Allow netDb searches to query shitlisted peers, as the queries are
- indirect.
- * Add an option to disable non-floodfill netDb searches (non-floodfill
- searches are used by default, but can be disabled by adding
- netDb.floodfillOnly=true to the advanced config)
-
- 2006-03-20 jrandom
- * Fix to allow for some slack when coalescing stats
- * Workaround some oddball errors
-
- 2006-03-18 jrandom
- * Added a new graphs.jsp page to show all of the stats being harvested
-
- 2006-03-18 jrandom
- * Made the netDb search load limitations a little less stringent
- * Add support for specifying the number of periods to be plotted on the
- graphs - e.g. to plot only the last hour of a stat that is averaged at
- the 60 second period, add &periodCount=60
-
- 2006-03-17 jrandom
- * Add support for graphing the event count as well as the average stat
- value (done by adding &showEvents=true to the URL). Also supports
- hiding the legend (&hideLegend=true), the grid (&hideGrid=true), and
- the title (&hideTitle=true).
- * Removed an unnecessary arbitrary filter on the profile organizer so we
- can pick high capacity and fast peers more appropriately
-
- 2006-03-16 jrandom
- * Integrate basic hooks for jrobin (http://jrobin.org) into the router
- console. Selected stats can be harvested automatically and fed into
- in-memory RRD databases, and those databases can be served up either as
- PNG images or as RRDtool compatible XML dumps (see oldstats.jsp for
- details). A base set of stats are harvested by default, but an
- alternate list can be specified by setting the 'stat.summaries' list on
- the advanced config. For instance:
- stat.summaries=bw.recvRate.60000,bw.sendRate.60000
- * HTML tweaking for the general config page (thanks void!)
- * Odd NPE fix (thanks Complication!)
-
- 2006-03-15 Complication
- * Trim out an old, inactive IP second-guessing method
- (thanks for spotting, Anonymous!)
-
- 2006-03-15 jrandom
- * Further stat cleanup
- * Keep track of how many peers we are actively trying to communicate with,
- beyond those who are just trying to communicate with us.
- * Further router tunnel participation throttle revisions to avoid spurious
- rejections
- * Rate stat display cleanup (thanks ripple!)
- * Don't even try to send messages that have been queued too long
-
- 2006-03-05 zzz
- * Remove the +++--- from the logs on i2psnark startup
-
- 2006-03-05 jrandom
- * HTML fixes in Syndie to work better with opera (thanks shaklen!)
- * Give netDb lookups to floodfill peers more time, as they are much more
- likely to succeed (thereby cutting down on the unnecessary netDb
- searches outside the floodfill set)
- * Fix to the SSU IP detection code so we won't use introducers when we
- don't need them (thanks Complication!)
- * Add a brief shitlist to i2psnark so it doesn't keep on trying to reach
- peers given to it
- * Don't let netDb searches wander across too many peers
- * Don't use the 1s bandwidth usage in the tunnel participation throttle,
- as its too volatile to have much meaning.
- * Don't bork if a Syndie post is missing an entry.sml
-
- 2006-03-05 Complication
- * Reduce exposed statistical information,
- to make build and uptime tracking more expensive
-
- 2006-03-04 Complication
- * Fix the announce URL of orion's tracker in Snark sources
-
- 2006-03-03 Complication
- * Explicit check for an index out of bounds exception while parsing
- an inbound IRC command (implicit check was there already)
-
- 2006-03-01 jrandom
- * More aggressive tunnel throttling as we approach our bandwidth limit,
- and throttle based off periods wider than 1 second.
- * Included Doubtful Salmon's syndie stylings (thanks!)
-
- 2006-02-27 zzz
- * Update error page templates to add \r, Connection: close, and
- Proxy-connection: close to headers.
-
- * 2006-02-27 0.6.1.12 released
-
- 2006-02-27 jrandom
- * Adjust the jbigi.jar to use the athlon-optimized jbigi on windows/amd64
- machines, rather than the generic jbigi (until we have an athlon64
- optimized version)
-
- 2006-02-26 jrandom
- * Switch from the bouncycastle to the gnu-crypto implementation for
- SHA256, as benchmarks show a 10-30% speedup.
- * Removed some unnecessary object caches
- * Don't close i2psnark streams prematurely
-
- 2006-02-25 jrandom
- * Made the Syndie permalinks in the thread view point to the blog view
- * Disabled TCP again (since the live net seems to be doing well w/out it)
- * Fix the message time on inbound SSU establishment (thanks zzz!)
- * Don't be so aggressive with parallel tunnel creation when a tunnel pool
- just starts up
-
- 2006-02-24 jrandom
- * Rounding calculation cleanup in the stats, and avoid an uncontested
- mutex (thanks ripple!)
- * SSU handshake cleanup to help force incompatible peers to stop nagging
- us by both not giving them an updated reference to us and by dropping
- future handshake packets from them.
-
- 2006-02-23 jrandom
- * Increase the SSU retransmit ceiling (for slow links)
- * Estimate the sender's SSU MTU (to help see if we agree)
-
- 2006-02-22 jrandom
- * Fix to properly profile tunnel joins (thanks Ragnarok, frosk, et al!)
- * More aggressive poor-man's PMTU, allowing larger MTUs on less reliable
- links
- * Further class validator refactorings
-
- 2006-02-22 jrandom
- * Handle a rare race under high bandwidth situations in the SSU transport
- * Minor refactoring so we don't confuse sun's 1.6.0-b2 validator
-
- 2006-02-21 Complication
- * Reactivate TCP tranport by default, in addition to re-allowing
-
- * 2006-02-21 0.6.1.11 released
-
- 2006-02-21 jrandom
- * Throttle the outbound SSU establishment queue, so it doesn't fill up the
- heap when backlogged (and so that the messages queued up on it don't sit
- there forever)
- * Further SSU memory cleanup
- * Clean up the address regeneration code so it knows when to rebuild the
- local info more precisely.
-
- 2006-02-20 jrandom
- * Properly enable TCP this time (oops)
- * Deal with multiple form handlers on the same page in the console without
- being too annoying (thanks blubb and bd_!)
-
- 2006-02-20 jrandom
- * Reenable the TCP transport as a fallback (we'll continue to muck with
- debugging SSU-only elsewhere)
-
- 2006-02-20 jrandom
- * Major SSU and router tuning to reduce contention, memory usage, and GC
- churn. There are still issues to be worked out, but this should be a
- substantial improvement.
- * Modified the optional netDb harvester task to support choosing whether
- to use (non-anonymous) direct connections or (anonymous) exploratory
- tunnels to do the harvesting. Harvesting itself is enabled via the
- advanced config "netDb.shouldHarvest=true" (default is false) and the
- connection type can be chosen via "netDb.harvestDirectly=false" (default
- is false).
-
- 2006-02-19 dust
- * Added pruning of suckers history (it used to grow indefinitely).
-
- 2006-02-19 jrandom
- * Moved the current net's reseed URL to a different location than where
- the old net looks (dev.i2p.net/i2pdb2/ vs .../i2pdb/)
- * More aggressively expire inbound messages (on receive, not just on send)
- * Add in a hook for breaking backwards compatibility in the SSU wire
- protocol directly by including a version as part of the handshake. The
- version is currently set to 0, however, so the wire protocol from this
- build is compatible with all earlier SSU implementations.
- * Increased the number of complete message readers, cutting down
- substantially on the delay processing inbound messages.
- * Delete the message history file on startup
- * Reworked the restart/shutdown display on the console (thanks bd_!)
-
- 2006-02-18 jrandom
- * Migrate the outbound packets from a central component to the individual
- per-peer components, substantially cutting down on lock contention when
- dealing with higher degrees.
- * Load balance the outbound SSU transfers evenly across peers, rather than
- across messages (so peers with few messages won't be starved by peers
- with many).
- * Reduce the frequency of router info rebuilds (thanks bar!)
-
- 2006-02-18 jrandom
- * Add a new AIMD throttle in SSU to control the number of concurrent
- messages being sent to a given peer, in addition to the throttle on the
- number of concurrent bytes to that peer.
- * Adjust the existing SSU outbound queue to throttle based on the queue's
- lag, not an arbitrary number of packets.
-
- 2006-02-17 jrandom
- * Properly fix the build request queue throttling, using queue age to
- detect congestion, rather than queue size.
-
- 2006-02-17 jrandom
- * Disable the message history log file by default (duh - feel free to
- delete messageHistory.txt after upgrading. thanks deathfatty!)
- * Limit the size of the inbound tunnel build request queue so we don't
- get an insane backlog of requests that we're bound to reject, and adjust
- the queue processing so we keep on churning through them when we've got
- a backlog.
- * Small fixes for the multiuser syndie operation (thanks Complication!)
- * Renamed modified PRNG classes that were imported from gnu-crypto so we
- don't conflict with JVMs using that as a JCE provider (thanks blx!)
-
- * 2006-02-16 0.6.1.10 released
-
- 2006-02-16 jrandom
- * Add a new toggle to the web config to enable/disable the load testing
-
- 2006-02-16 jrandom
- * Dropped much of the abandonware from the apps/ directory
-
- 2006-02-16 jrandom
- * Bugfix to the I2PTunnel web config to properly accept i2cp port settings
- * Initial sucker refactoring to simplify reuse of the html parsing
- * Beginnings of hooks to push imported rss/atom out to remote syndie
- archives automatically (though not enabled currently)
- * Further SSU peer test cleanup
-
- 2006-02-15 jrandom
- * Add in per-blog RSS feeds to Syndie
- * Upgraded sucker's ROME dependency to 0.8, bundling sucked enclosures
- with the posts, marking additional attachments as Media RSS enclosures
- (http://search.yahoo.com/mrss/), since RSS only supports one enclosure
- per item.
- * Don't allow the default syndie user to be set to something invalid if
- its in single user mode.
-
- 2006-02-15 jrandom
- * Merged in the i2p_0_6_1_10_PRE branch to the trunk, so CVS HEAD is no
- longer backwards compatible (and should not be used until 0.6.1.1 is
- out)
-
- 2006-02-14 jrandom
- * Syndie ui bugfixes (thanks all!)
-
- 2006-02-13 jrandom
- * Use the current directory for some temporary I2PSnark files, rather than
- the OS default temp dir (thanks anon!)
- * Increase the base streaming lib window size (still shrinks to 1 on
- retransmission though, of course)
- * Fixed the I2PTunnel newlines to work with lighthttpd (thanks all!)
- * Implement fast retransmit in the streaming lib (fires at most once per
- packet), and increased the default ack delay to 2 seconds (from .5s)
- * Don't ask for garlic level message acks for end to end messages unless
- they're useful (e.g. to ack session tags)
-
- 2006-02-12 cervantes
- * Use a different santisation method for some SML attributes
- * Make router console update config save button actually save.
- * Fix console bandwidth limiter burst rate dropdowns, so the display
- relates to what is saved in the config.
-
- 2006-02-12 cervantes
- * SML is now stricter in it's formatting (attributes should only use
- double quotes instead of being allowed to mix with singles).
- * Using apostrophes in SML attributes will no longer invalidate the tag.
- * Some instances of [blog] tag description were not being displayed
- correctly.
-
- 2006-02-12 jrandom
- * Further SSU peer test throttling
- * Put the most common router console features on the main index page too
-
- 2006-02-11 jrandom
- * Be more careful about SSU peer test floods
-
- 2006-02-09 jrandom
- * Adjusted one of the SSU timeouts so we don't drop peers as easily (duh)
-
- 2006-02-08 jrandom
- * Added transparent support for VIA C3 CPUs to jbigi (thanks Nekow42), and
- bundled a precompiled libjbigi.so in the jbigi.jar
- * Cleaned up the synchronization for some SSU packet handling code
- * Allow explicit rejection of more lagged tunnel build requests, rather
- than dropping them outright
- * Use lighter load testing
-
- 2006-02-07 jrandom
- * Handle HTTP headers without any values (thanks Sugadude!)
- * Don't show the option to make Syndie multiuser, since very few people
- need it, and multiuser mode is a lot more complex to use. Geeks can
- enable it by adding "syndie.singleUser=false" to syndie/syndie.config
- (or in the router's advanced config, for the embedded Syndie)
- * When a peer rejects participation in a tunnel, they mean it (duh)
- * Decrease tunnel test timeout period to 20s (a 40s lag is insane)
- * Remove a throttle on the size of the SSU active outbound pool, since
- it was essentially arbitrary
- * Use a more appropriate SSU bloom filter size
- * Don't "proactively" drop SSU connections if we have partially received
- inbound messages (duh)
- * Migrate most of the message state across SSU connection reestablishment
-
- 2006-02-06 jrandom
- * Reduce the SSU retransmit timeout range, and increase the number of ACKs
- piggybacked
-
- 2006-02-05 jrandom
- * Experiment with short exponents for DH/ElGamal, using a 226bit x instead
- of a 2048bit x, as reports suggest that size is sufficient for 2048bit
- DH/ElGamal when using safe primes (see KeyGenerator.java for references)
- * Enable the messageHistory.txt by default, for debugging
-
- 2006-02-05 jrandom
- * Substantial bugfix for the duplicate message detection in the transport
- layer
- * Handle tunnel build responses ASAP, rather than queueing them up to wait
- in line (processing them is really fast - just a few AES loops)
- * Don't bother handling build requests that we have queued up for a while
- locally, as the requestor will have timed it out anyway (perhaps we
- should reply regardless, but with a backoff instead?)
-
- 2006-02-04 jrandom
- * Further tunnel test cleanup and disabling of the old tunnel creation
- code
-
- 2006-02-04 jrandom
- * Clean up and reenable the tunnel testing for the new tunnel system.
-
- 2006-02-04 jrandom
- * Don't cache the archive.txt in syndie when fetching it through the web
- interface.
- * Logging updates
-
- 2006-02-03 jrandom
- * Added further replay prevention on the tunnel build requests
- * More aggressive streaming lib closing on reset
-
- 2006-02-03 jrandom
- * More aggressive refusal of peers from the wrong network (oops)
-
- 2006-02-01 jrandom
- * Instruct the router to reseed against a new URL, for migration purposes:
- http://dev.i2p.net/i2pdb2/
- * Aggressive error handling during UDP packet creation (thanks cervantes)
-
- 2006-02-01 jrandom
- * Fix the new tunnel creation crypto, including the addition of a 4 byte
- "next message ID" to the encrypted request structure in the spec.
- * Backwards incompatible change, using the new tunnel creation crypto, the
- fixed MD5 HMAC size, and a new network ID (to prevent cross pollination
- with the old incompatible network).
- * Reworked the leaseSet request process to handle a race condition
- * Disable the TCP transport
- * Run four separate threads on the job queue to cut down on job lag
-
- 2006-01-28 jrandom
- * Removed a race that could show up in leaseSet requesting with the new
- tunnel building process
-
- 2006-01-25 jrandom
- * Run the peer profile coalescing/reorganization outside the job queue
- (on one of the timers), to cut down on some job queue congestion. Also,
- trim old profiles while running, not just when starting up.
- * Slightly more sane intra-floodfill-node netDb activity (only flood new
- entries)
- * Workaround in the I2PTunnelHTTPServer for some bad requests (though the
- source of the bug is not yet addressed)
- * Better I2PSnark reconnection handling
- * Further cleanup in the new tunnel build process
- * Make sure we expire old participants properly
- * Remove much of the transient overload throttling (it wasn't using a good
- metric)
-
- 2006-01-25 dust
- * Fix IRC client proxy to use ISO-8859-1.
-
- 2006-01-22 jrandom
- * New tunnel build process - does not use the new crypto or new peer
- selection strategies. However, it does drop the fallback tunnel
- procedure, except for tunnels who are configured to allow them, or for
- the exploratory pool during bootstrapping or after a catastrophic
- failure. This new process prefers to fail rather than use too-short
- tunnels, so while it can do some pretty aggressive tunnel rebuilding,
- it may expose more tunnel failures to the user.
- * Always prefer normal tunnels to fallback tunnels.
- * Potential fix for a bug while changing i2cp settings on I2PSnark (thanks
- bar!)
- * Do all of the netDb entry writing in a separate thread, avoiding
- duplicates and batching them up.
-
- 2006-01-19 Complication
- * Explain better where eepsite's destkey can be found
-
- 2006-01-18 cervantes
- * Add title attributes to all external links in Syndie, so we can rollover
- and quickly see if it's worth clicking on.
- * Fixed a minor compiler warning.
-
- 2006-01-17 jrandom
- * First pass of the new tunnel creation crypto, specified in the new
- router/doc/tunnel-alt-creation.html (referenced in the current
- router/doc/tunnel-alt.html). It isn't actually used anywhere yet, other
- than in the test code, but the code verifies the technical viability, so
- further scrutiny would be warranted.
-
- 2006-01-16 cervantes
- * Dragged I2P kicking and screaming into 2006 (Oops)
-
- 2006-01-14 cervantes
- * Removed entirely misleading memory status from the console summary.
-
- 2006-01-13 cervantes
- * Further Syndie layout hardening and typeface balancing.
-
- * 2006-01-12 0.6.1.9 released
-
- 2006-01-12 jrandom
- * Only create the loadtest.log if requested to do so (thanks zzz!)
- * Make sure we cleanly take into consideration the appropriate data
- points when filtering out duplicate messages in the message validator,
- and report the right bloom filter false positives rate (not used for
- anything except debugging)
-
- 2006-01-12 cervantes
- * Syndie CSS tweaks to removed some redundant declarations, improve font
- scaling and layout robustness. Improved cross browser compatibility
- (in other words "kicked IE"). Tightened the look of the blog template
- a little.
-
- 2006-01-11 Complication
- * CSS comment fixes
-
- 2006-01-11 jrandom
- * Include the attachments/blogs/etc for comments on the blog view
- * Syndie HTML fixes (thanks cervantes!)
- * Make sure we fully reset the objects going into our cache before we
- reuse them (thanks zzz!)
-
- 2006-01-10 jrandom
- * Added the per-post list of attachments/blogs/etc to the blog view in
- Syndie (though this does not yet include comments or some further
- refinements)
- * Have the I2P shortcut launch i2p.exe instead of i2psvc.exe on windows,
- removing the dox box (though also removes the restart functionality...)
- * Give the i2p.exe the correct java.library.path to support the systray
- dll (thanks Bobcat, Sugadude, anon!)
-
- 2006-01-09 jrandom
- * Removed a longstanding bug that had caused unnecessary router identity
- churn due to clock skew
- * Temporarily sanity check within the streaming lib for long pending
- writes
- * Added support for a blog-wide logo to Syndie, and automated the pushing
- of updated extended blog info data along side the metadata.
-
- 2006-01-09 jrandom
- * Bugfix for a rare SSU error (thanks cervantes!)
- * More progress on the blog interface, allowing customizable blog-wide
- links.
-
- 2006-01-08 jrandom
- * First pass of the new blog interface, though without much of the useful
- customization features (coming soon)
-
- 2006-01-04 jrandom
- * Rather than profile individual tunnels for throughput over their
- lifetime, do so at 1 minute intervals (allowing less frequently active
- tunnels to be more fairly measured).
- * Run the live tunnel load test across two tunnels at a time, by default.
- The load test runs for a random period from 90s to the tunnel lifetime,
- self paced. This should help gathering data for profiling peers that
- are in exploratory tunnels.
-
- 2006-01-03 jrandom
- * Calculate the overall peer throughput across the 3 fastest one minute
- tunnel throughput values, rather than the single fastest throughput.
- * Degrade the profiled throughput data over time (cutting the profiled
- peaks in half once a day, on average)
- * Enable yet another new speed calculation for profiling peers, using the
- peak throughput from individual tunnels that a peer is participating in,
- rather than across all tunnels they are participating in. This helps
- gather a fairer peer throughput measurement, since it won't allow a slow
- high capacity peer seem to have a higher throughput (pushing a little
- data across many tunnels at once, as opposed to lots of data across a
- single tunnel). This degrades over time like the other.
- * Add basic OS/2 support to the jbigi code (though we do not bundle a
- precompiled OS/2 library)
-
- 2006-01-01 jrandom
- * Disable multifile torrent creation in I2PSnark's web UI for the moment
- (though it can still seed and participate in multifile swarms)
- * Enable a new speed calculation for profiling peers, using their peak
- 1 minute average tunnel throughput as their speed.
-
- 2005-12-31 jrandom
- * Include a simple torrent creator in the I2PSnark web UI
- * Further streaming lib closing improvements
- * Refactored the load test components to run off live tunnels (though,
- still not safe for normal/anonymous load testing)
-
- 2005-12-30 jrandom
- * Close streams more gracefully
-
- 2005-12-30 jrandom
- * Small streaming lib bugfixes for the modified timeouts
- * Minor Syndie/Sucker RSS html fix
- * Small synchronization fix in I2PSnark (thanks fsm!)
-
- 2005-12-30 jrandom
- * Replaced the bundled linux jcpuid (written in C++) with scintilla's
- jcpuid (written in C), removing the libg++.so.5 dependency that has bit
- some distros (e.g. mandriva)
-
- 2005-12-29 jrandom
- * Minor fix to the new ERR-ClockSkew to deal with people whose clocks are
- actually correct
-
- 2005-12-27 jrandom
- * Add a new Status: line on the router console - "ERR-ClockSkew", in case
- the clock is too skewed to do anything useful (check the year and month,
- not just the hour and minute).
- * Fixed the read/write timeouts in the streaming lib (so that it actually
- honors them now)
- * Minor I2PSnark cleanups (no read timeout, more careful shutdown and
- torrent closing)
- * Handle an oddball tunnel creation failure (thanks Xunk)
-
- 2005-12-26 Complication
- * Fix some integer typecasting in I2PSnark (caused >2GB torrents to fail)
- * HTML readability cosmetics on "Peers" page
-
- * 2005-12-22 0.6.1.8 released
-
- 2005-12-22 jrandom
- * Bundle the standalone I2PSnark launcher in the installer and update
- process (launch as "java -jar launch-i2psnark.jar", viewing the
- interface on http://localhost:8002/)
- * Don't autostart swarming torrents by default so that you can run a
- standalone I2PSnark from the I2P install dir and not have the embedded
- I2PSnark autolaunch the torrents that the standalone instance is running
- * Fixed a rare streaming lib bug that could let a blocking call wait
- forever.
-
- 2005-12-22 jrandom
- * Cleaned up some buffer synchronization issues in I2PSnark that could
- cause blockage.
-
- 2005-12-21 jrandom
- * Adjusted I2PSnark's usage of the streaming lib (tweaking it for BT's
- behavior)
- * Fixed the I2PSnark bug that would lose track of live peers
-
- 2005-12-20 jrandom
- * Enabled the control in I2PSnark to toggle whether torrents should be
- started automatically or not
- * Hopefully finished the last hook to close down torrents completely when
- they're stopped.
-
- 2005-12-19 jrandom
- * Fix for old Syndie blog bookmarks (thanks Complication!)
- * Fix for I2PSnark to accept incoming connections again (oops)
- * Randomize the order that peers from the tracker are contacted
-
- 2005-12-19 jrandom
- * I2PSnark logging, disconnect old inactive peers rather than new ones,
- memory usage reduction, better OOM handling, and a shared connection
- acceptor.
- * Cleaned up the Syndie blog page and the resulting filters (viewing a
- blog from the blog page shows threads started by the selected author,
- not those that they merely participate in)
-
- 2005-12-18 jrandom
- * Added a standalone runner for the I2PSnark web ui (build with the
- command "ant i2psnark", unzip i2psnark-standalone.zip somewhere, run
- with "java -jar launch-i2psnark.jar", and go to http://localhost:8002/).
- * Further I2PSnark error handling
-
- 2005-12-17 jrandom
- * Let multiuser accounts authorize themselves to access the remote
- functionality again (thanks Ch0Hag!)
- * Adjust the JVM heap size to 128MB for new installs (existing users can
- accomplish this by editing wrapper.config, adding the line
- "wrapper.java.maxmemory=128", and then doing a full shutdown and startup
- of the router). This is relevent for heavy usage of I2PSnark in the
- router console.
-
- 2005-12-17 jrandom
- * Use our faster SHA1, rather than the JVM's within I2PSnark, and let
- 'piece' sizes grow larger than before.
-
- 2005-12-16 jrandom
- * Added some I2PSnark sanity checks, an OOMListener when running
- standalone, and a guard against keeping memory tied up indefinitely.
- * Sanity check on the watchdog (thanks zzz!)
- * Handle invalid HTTP requests in I2PTunnel a little better
-
- 2005-12-16 jrandom
- * Moved I2PSnark from using Threads to I2PThreads, so we handle OOMs
- properly (thanks Complication!)
- * More guards in I2PSnark for zany behavior (I2PSession recon w/ skew,
- b0rking in the DirMonitor, etc)
-
- 2005-12-16 jrandom
- * Try to run a torrent in readonly mode if we can't write to the file, and
- handle failures a little more gracefully (thanks polecat!)
-
- 2005-12-16 jrandom
- * Refuse torrents with too many files (128), avoiding ulimit errors.
- * Remove an fd leak in I2PSnark
- * Further I2PSnark web UI cleanup
-
- 2005-12-15 jrandom
- * Added a first pass to the I2PSnark web UI (see /i2psnark/)
-
- 2005-12-15 jrandom
- * Added multitorrent support to I2PSnark, accessible currently by running
- "i2psnark.jar --config i2psnark.config" (which may or may not exist).
- It then joins the swarm for any torrents in ./i2psnark/*.torrent, saving
- their data in that directory as well. Removing the .torrent file stops
- participation, and it is currently set to seed indefinitely. Completion
- is logged to the logger and standard output, with further UI interaction
- left to the (work in progress) web UI.
-
- 2005-12-14 jrandom
- * Fix to drop peer references when we shitlist people again (thanks zzz!)
- * Further I2PSnark fixes to deal with arbitrary torrent info attributes
- (thanks Complication!)
-
- 2005-12-13 zzz
- * Don't test tunnels expiring within 90 seconds
- * Defer Test Tunnel jobs if job lag too large
- * Use JobQueue.getMaxLag() rather than the jobQueue.jobLag stat to measure
- job lag for tunnel build backoff, allowing for more agile handling
- (since the stat is only updated once a minute)
- * Use tunnel length override if all tunnels are expiring within one
- minute.
-
- 2005-12-13 jrandom
- * Fixed I2PSnark's handling of some torrent files to deal with those
- created by Azureus and I2PRufus (it didn't know how to deal with
- additional meta info, such as path.utf-8 or name.utf-8).
-
- 2005-12-09 zzz
- * Create different strategies for exploratory tunnels (which are difficult
- to create) and client tunnels (which are much easier)
- * Gradually increase number of parallel build attempts as tunnel expiry
- nears.
- * Temporarily shorten attempted build tunnel length if builds using
- configured tunnel length are unsuccessful
- * React more aggressively to tunnel failure than routine tunnel
- replacement
- * Make tunnel creation times randomized - there is existing code to
- randomize the tunnels but it isn't effective due to the tunnel creation
- strategy. Currently, most tunnels get built all at once, at about 2 1/2
- to 3 minutes before expiration. The patch fixes this by fixing the
- randomization, and by changing the overlap time (with old tunnels) to a
- range of 2 to 4 minutes.
- * Reduce number of excess tunnels. Lots of excess tunnels get created due
- to overlapping calls. Just about anything generated a call which could
- build many tunnels all at once, even if tunnel building was already in
- process.
- * Miscellaneous router console enhancements
-
- 2005-12-08 jrandom
- * Minor bugfix in SSU for dealing with corrupt packets
- * Added some hooks for load testing
-
- 2005-12-07 jrandom
- * Added a first pass at a blog view in Syndie
-
- 2005-12-07 jrandom
- * Expand the thread we're viewing to its leaf
- * Bugfix on intraday ordering (children are always newer than parents)
-
- 2005-12-05 jrandom
- * Added an RDF and XML thread export to Syndie, reachable at
- .../threadnav/rdf or .../threadnav/xml, accepting the parameters
- count=$numThreads and offset=$threadIndex. If the $numThreads is -1, it
- displays all threads.
-
- 2005-12-04 TLorD
- * Patch for the C SAM library to null terminate strings on copy (thanks!)
-
- 2005-12-04 jrandom
- * Bugfix in Syndie for a problem in the threaded indexer (thanks CofE!)
- * Always include ourselves in the favorite authors (since we don't
- bookmark ourselves)
-
- 2005-12-03 jrandom
- * Use newgroup-like tags by default in Syndie's interface
-
- 2005-12-03 jrandom
- * Added support for a 'most recent posts' view that CofE requested, which
- includes the ability to filter by age (e.g. posts by your favorite
- authors in the last 5 days).
-
- 2005-12-03 jrandom
- * Adjusted Syndie to use the threaded view that cervantes suggested, which
- displays a a single thread path at a time - from root to leaf - rather
- than a depth first traversal.
-
- 2005-12-03 jrandom
- * Package up a standalone Syndie install into a "syndie-standalone.zip",
- buildable with "ant syndie". It extracts into ./syndie/, launches with
- "java -jar launchsyndie.jar" (or javaw, on windows, to avoid a dos box),
- running a single user Syndie instance (by default). It also creates a
- default subscription to syndiemedia without any anonymity (using no
- proxy). Upgrades can be done by just replacing the syndie.war with the
- one from I2P.
-
- * 2005-12-01 0.6.1.7 released
-
- 2005-12-01 jrandom
- * Add a new criteria to the tunnel join throttle, backing off people if we
- are failing to talk to our peers more than usual.
-
- 2005-11-30 jrandom
- * Cleaned up the build process to deal with Jetty 5.1.6 and rename the
- new commons-logging-api.jar to commons-logging.jar, which it replaces.
- Jetty 5.1.6 is pushed with all updates. Also, no need to push a
- separate jdom or rome, as they're inside syndie.war.
-
- 2005-11-30 jrandom
- * Don't let the TCP transport alone shitlist a peer, since other
- transports may be working. Also display whether TCP connections are
- inbound or outbound on the peers page.
- * Fixed some substantial bugs in the SSU introducers where we wouldn't
- talk to anyone who didn't expose an IP (even if they had introducers),
- among other goofy things.
- * When dealing with SSU introducers, send them all a packet at 3s/6s/9s,
- rather than sending one a packet at 3s, then another a packet at 6s,
- and a third a packet at 9s.
- * Fixed Syndie attachments (oops)
-
- 2005-11-29 zzz
- * Added a link to orion's jump page on the 'key not found' error page.
-
- 2005-11-29 jrandom
- * Further Syndie UI cleanup
- * Bundled our patched MultiPartRequest code from jetty (APL2 licensed),
- since it hasn't been applied to the jetty CVS yet [1]. Its packaged
- into syndie.jar and renamed to net.i2p.syndie.web.MultiPartRequest, but
- will be removed as soon as its integrated into Jetty. This patch allows
- posting content in various character sets.
- [1] http://article.gmane.org/gmane.comp.java.jetty.general/6031
- * Upgraded new installs to the latest stable jetty (5.1.6), though this
- isn't pushed as part of the update yet, as there aren't any critical
- bugs.
-
- 2005-11-29 jrandom
- * Added back in the OSX jbigi, which was accidentally removed a few revs
- back (thanks for the bug report stoerte!) New installs will get the
- full jbigi, or you can pull the jbigi.jar from CVS by going to
- http://dev.i2p.net/cgi-bin/cvsweb.cgi/i2p/installer/lib/jbigi/jbigi.jar
- and clicking on the first "download" link, saving that jbigi.jar to
- lib/jbigi.jar in your I2P installation directory. After restarting your
- router, it should load up fine.
-
- 2005-11-27 jrandom
- * Inlined the Syndie CSS to reduce the number of HTTP requests (and
- because firefox [and others?] delay rendering until they fetch the css).
- * Make sure we fire the shutdown tasks when regenerating a new identity
- (thanks picsou!)
- * Cleaned up some of the things I b0rked in the 'dynamic keys' mode
- * Don't drop SSU sessions if they're still transmitting data successfully,
- even if there are transmission failures
- * Adjusted the time summarization to display hours after 119m, not 90m
- * Further EepGet cleanup (grr)
-
- * 2005-11-26 0.6.1.6 released
-
- 2005-11-26 jrandom
- * Update the sorting in Syndie to consider children 'newer' than parents,
- even if they have the same message ID (duh)
- * Cleaned up some nav links in Syndie (good idea gloin, spaetz!)
- * Added a bunch of tooltips to Syndie's fields (thanks polecat!)
- * Force support for nonvalidating XML in Jetty (so we can handle GCJ/etc
- better)
-
- 2005-11-26 jrandom
- * Be more explicit about what messages we will handle through a client
- tunnel, and how we will handle them. This cuts off a set of attacks
- that an active adversary could mount, though they're probably nonobvious
- and would require at least some sophistication.
-
- 2005-11-26 Raccoon23
- * Added support for 'dynamic keys' mode, where the router creates a new
- router identity whenever it detects a substantial change in its public
- address (read: SSU IP or port). This only offers minimal additional
- protection against trivial attackers, but should provide functional
- improvement for people who have periodic IP changes, since their new
- router address would not be shitlisted while their old one would be.
- * Added further infrastructure for restricted route operation, but its use
- is not recommended.
-
- 2005-11-25 jrandom
- * Further Syndie UI cleanups
- * Logging cleanup
- * Fixed link to fproxy.tino.i2p (thanks zzz!)
-
- 2005-11-25 jrandom
- * Don't publish stats for periods we haven't reached yet (thanks zzz!)
- * Cleaned up the syndie threaded display to show the last updated date for
- a subthread, and to highlight threads updated in the last two days.
-
- 2005-11-24 jrandom
- * Fix to save syndication settings in Syndie (thanks spaetz!)
-
- 2005-11-23 jrandom
- * Removed spurious streaming lib RTO increase (it wasn't helpful)
- * Streamlined the tunnel batching to schedule batch transmissions more
- appropriately.
- * Default tunnel pool variance to 2 +0-1 hops
-
- 2005-11-21 jrandom
- * IE doesn't strip SPAN from <button> form fields, so add in a workaround
- within I2PTunnel.
- * Increase the maximum SSU retransmission timeout to accomodate slower or
- more congested links (though SSU's RTO calculation will usually use a
- much lower timeout)
- * Moved the streaming lib timed events off the main timer queues and onto
- a streaming lib specific set of timer queues. Streaming lib timed
- events are more likely to have lock contention on the I2CP socket while
- other timed events in the router are (largely) independent.
- * Fixed a case sensitive lookup bug (thanks tino!)
- * Syndie cleanup - new edit form on the preview page, and fixed some blog
- links (thanks tino!)
-
- 2005-11-19 jrandom
- * Implemented a trivial pure java PMTU backoff strategy, switching between
- a 608 byte MTU and a 1350 byte MTU, depending upon retransmission rates.
- * Fixed new user registration in Syndie (thanks Complication!)
-
- 2005-11-17 jrandom
- * More cautious file handling in Syndie
-
- 2005-11-16 jrandom
- * More aggressive I2PTunnel content encoding munging to work around some
- rare HTTP behavior (ignoring q values on Accept-encoding, using gzip
- even when only identity is specified, etc). I2PTunnelHTTPServer now
- sends "Accept-encoding: \r\n" plus "X-Accept-encoding: x-i2p-gzip\r\n",
- and I2PTunnelHTTPServer handles x-i2p-gzip in either the Accept-encoding
- or X-Accept-encoding headers. Eepsite operators who do not know to
- check for X-Accept-encoding will simply use the identity encoding.
-
- * 2005-11-15 0.6.1.5 released
-
- 2005-11-14 jrandom
- * Migrate to the new Syndie interface
-
- 2005-11-11 jrandom
- * Add filtering threads by author to Syndie, populated with authors in the
- user's addressbook
- * When creating the default user, add
- "http://syndiemedia.i2p/archive/archive.txt" to their addressbook,
- configured to automatically pull updates. (what other archives should
- be included?)
- * Tiny servlet to help dole out the new routerconsole themes, and bundle
- the installer/resources/themes/** into ./docs/themes/** on both install
- and update.
-
- 2005-11-11 cervantes
- * Initial pass of the routerconsole revamp, starting with I2PTunnel and
- being progressively rolled out to other sections at later dates.
- Featuring abstracted W3C strict XHTML1.0 markup, with CSS providing
- layout and styling.
- * Implemented console themes. Users can create their own themes by
- creating css files in: {i2pdir}/docs/themes/console/{themename}/
- and activating it using the routerconsole.theme={themename} advanced
- config property. Look at the example incomplete "defCon1" theme.
- Note: This is very much a work in progress. Folks might want to hold-off
- creating their own skins until the markup has solidified.
- * Added "routerconsole.javascript.disabled=true" to disable console
- client-side scripting and "routerconsole.css.disabled=true" to remove
- css styling (only rolled out in the i2ptunnel interface currently)
- * Fixed long standing bug with i2ptunnel client and server edit screens
- where tunnel count and depth properties would fail to save. Added
- backup quantity and variance configuration options.
- * Added basic accessibility support (key shortcuts, linear markup, alt and
- title information and form labels).
- * So far only tested on IE6, Firefox 1.0.6, Opera 8 and lynx.
-
- 2005-11-11 jrandom
- * Default Syndie to single user mode, and automatically log into a default
- user account (additional accounts can be logged into with the 'switch'
- or login pages, and new accounts can be created with the register page).
- * Disable the 'automated' column on the Syndie addressbook unless the user
- is appropriately authorized (good idea Polecat!)
-
- 2005-11-10 jrandom
- * First pass to a new threaded Syndie interface, which isn't enabled by
- default, as its not done yet.
-
- 2005-11-06 jrandom
- * Include SSU establishment failure in the peer profile as a commError,
- as we do for TCP establishment failures.
- * Don't throttle the initial transmission of a message because of ongoing
- retransmissions to a peer, since the initial transmission of a message
- is more valuable than a retransmission (since it has less latency).
- * Cleaned up links to SusiDNS and I2PTunnel (thanks zzz!)
-
- 2005-11-05 jrandom
- * Include the most recent ACKs with packets, rather than only sending an
- ack exactly once. SSU differs from TCP in this regard, as TCP has ever
- increasing sequence numbers, while each message ID in SSU is random, so
- we don't get the benefit of later ACKs implicitly ACKing earlier
- messages.
- * Reduced the max retransmission timeout for SSU
- * Don't try to send messages queued up for a long time waiting for
- establishment.
-
- 2005-11-05 dust
- * Fix sucker to delete its temporary files.
- * Improve sucker's sml output some.
- * Fix Exception in SMLParser for weird sml.
-
- 2005-11-03 zzz
- * Added a new error page to the eepproxy to differentiate the full 60
- second timeout from the immediate "I don't know this base64" failure.
-
- 2005-11-01 jrandom
- * Added a few more css elements (thanks identiguy!)
-
- 2005-10-31 jrandom
- * Fix for some syndie reply scenarios (thanks identiguy and CofE!)
- * Removed a potentially infinitely recursive call (oops)
-
- 2005-10-30 dust
- * Merge sucker into syndie with a rssimport.jsp page.
- * Add getContentType() to EepGet.
- * Make chunked transfer work (better) with EepGet.
- * Do replaceAll("<","<") for logs.
-
- * 2005-10-29 0.6.1.4 released
-
- 2005-10-29 jrandom
- * Improved the bandwidth throtting on tunnel participation, especially for
- low bandwidth peers.
- * Improved failure handling in SSU with proactive reestablishment of
- failing idle peers, and rather than shitlisting a peer who failed too
- much, drop the SSU session and allow a new attempt (which, if it fails,
- will cause a shitlisting)
- * Clarify the cause of the shitlist on the profiles page, and include
- bandwidth limiter info at the bottom of the peers page.
-
- 2005-10-26 jrandom
- * In Syndie, propogate the subject and tags in a reply, and show the parent
- post on the edit page for easy quoting. (thanks identiguy and CofE!)
- * Streamline some netDb query handling to run outside the jobqueue -
- which means they'll run on the particular SSU thread that handles the
- message. This should help out heavily loaded netDb peers.
-
- 2005-10-25 jrandom
- * Defer netDb searches for newly referenced peers until we actually want
- them
- * Ignore netDb references to peers on our shitlist
- * Set the timeout for end to end client messages to the max delay after
- finding the leaseSet, so we don't have as many expired messages floating
- around.
- * Add a floor to the streaming lib window size
- * When we need to send a streaming lib ACK, try to retransmit one of the
- unacked packets instead (with updated ACK/NACK fields, of course). The
- bandwidth cost of an unnecessary retransmission should be minor as
- compared to both an ACK packet (rounded up to 1KB in the tunnels) and
- the probability of a necessary retransmission.
- * Adjust the streaming lib cwin algorithm to allow growth after a full
- cwin messages if the rtt is trending downwards. If it is not, use the
- existing algorithm.
- * Increased the maximum rto size in the streaming lib.
- * Load balancing bugfix on end to end messages to distribute across
- tunnels more evenly.
-
- 2005-10-22 jrandom
- * Integrated GNU-Crypto's Fortuna PRNG, seeding it off /dev/urandom and
- ./prngseed.rnd (if they exist), and reseeding it with data out of
- various crypto operations (unused bits in a DH exchange, intermediary
- bits in a DSA signature generation, extra bits in an ElGamal decrypt).
- The Fortuna implementation under gnu.crypto.prng has been modified to
- use BouncyCastle's SHA256 and Cryptix's AES (since those are the ones
- I2P uses), and the resulting gnu.crypto.prng.* are therefor available
- under GPL+Classpath's linking exception (~= LGPL). I2P's SecureRandom
- wrapper around it is, of course, public domain.
-
- 2005-10-20 dust
- * Fix bug in ircclient that prevented it to use its own dest (i.e. was
- always shared. (thx for info Ragnarok)
- * Fix crash in Sucker with some bad html.
-
- 2005-10-20 jrandom
- * Workaround a bug in GCJ's Calendar implementation
- * Propery throw an exception in the streaming lib if we try to write to a
- closed stream. This will hopefully help clear some I2Phex bugs (thanks
- GregorK!)
-
- 2005-10-19 jrandom
- * Ported the snark bittorrent client to I2P such that it is compatible
- with i2p-bt and azneti2p. For usage information, grab an update and run
- "java -jar lib/i2psnark.jar". It isn't currently multitorrent capable,
- but adding in support would be fairly easy (see PeerAcceptor.java:49)
- * Don't allow leaseSets expiring too far in the future (thanks postman)
-
- 2005-10-19 jrandom
- * Bugfix for the auto-update code to handle different usage patterns
- * Decreased the addressbook recheck frequency to once every 12 hours
- instead of hourly.
- * Handle dynamically changing the HMAC size (again, unless your nym is
- toad or jrandom, ignore this ;)
- * Cleaned up some synchronization/locking code
-
- 2005-10-17 dust
- * Exchange the remaining URL with EepGet in Sucker.
- * Allow /TOPIC irc command.
-
- 2005-10-17 jrandom
- * Allow an env prop to configure whether we want to use the backwards
- compatible (but not standards compliant) HMAC-MD5, or whether we want
- to use the not-backwards compatible (but standards compliant) one. No
- one should touch this setting, unless your name is toad or jrandom ;)
- * Added some new dummy facades
- * Be more aggressive on loading up the router.config before building the
- router context
- * Added new hooks for apps to deal with previously undefined I2NP message
- types without having to modify any code.
- * Demo code for using a castrated router for SSU comm (SSUDemo.java)
-
- 2005-10-14 jrandom
- * More explicit filter for linux/PPC building (thanks anon!)
- * Fixed Syndie's Sucker to not explicitly reference something only found
- in sun's JVM (thanks cervantes!)
- * Don't filter IRC "MAP" messages (not critical, but it doesn't hurt)
-
- * 2005-10-14 0.6.1.3 released
-
- 2005-10-14 jrandom
- * Added a key explaining peers.jsp a bit (thanks tethra!)
-
- 2005-10-13 dust
- * Bundled dust's Sucker for pulling RSS/Atom content into SML, which can
- then be injected into Syndie with the Syndie CLI.
- * Bundled ROME and JDOM (BSD and Apache licensed, respectively) for
- RSS/Atom parsing.
-
- 2005-10-13 jrandom
- * SSU retransmission choke bugfix (== != !=)
- * Include initial transmissions in the retransmission choke, so that
- if we are already retransmitting a message, we won't send anything
- to that peer other than that message (or ACKs, if necessary)
-
- 2005-10-12 jrandom
- * Choke SSU retransmissions to a peer while there is already a
- retransmission in flight to them. This currently lets other initial
- transmissions through, since packet loss is often sporadic, but maybe
- this should block initial transmissions as well?
- * Display the retransmission bytes stat on peers.jsp (thanks bar!)
- * Filter QUIT messages in the I2PTunnelIRCClient proxy
-
- 2005-10-11 jrandom
- * Piggyback the SSU partial ACKs with data packets. This is backwards
- compatible.
- * Syndie RSS renderer bugfix, plus now include the full entry instead of
- just the blurb before the cut.
-
- 2005-10-11 jrandom
- * Piggyback the SSU explicit ACKs with data packets (partial ACKs aren't
- yet piggybacked). This is backwards compatible.
- * SML parser cleanup in Syndie
-
- 2005-10-10 dust
- * Implemented a new I2PTunnelIRCClient which locally filters inbound and
- outbound IRC commands for anonymity and security purposes, removing all
- CTCP messages except ACTION, as well as stripping the hostname from the
- USER message (while leaving the nick and 'full name'). The IRC proxy
- doesn't use this by default, but you can enable it by creating a new
- "IRC proxy" tunnel on the web interface, or by changing the tunnel type
- to "ircclient" in i2ptunnel.config.
-
- 2005-10-10 jrandom
- * I2PTunnel http client config cleanup and stats
- * Minor SSU congestion tweaks and stats
- * Reduced netDb exploration period
-
- 2005-10-09 jrandom
- * Syndie CLI cleanup for simpler CLI posting. Usage shown with
- java -jar lib/syndie.jar
- * Beginnings of the Syndie logging cleanup
- * Delete corrupt Syndie posts
-
- 2005-10-09 jrandom
- * Now that the streaming lib works reasonably, set the default inactivity
- event to send a 0 byte keepalive payload, rather than disconnecting the
- stream. This should cut the irc netsplits and help out with other long
- lived streams. The default timeout is now less than the old timeout as
- well, so the keepalive will be sent before earlier builds fire their
- fatal timeouts.
-
- 2005-10-08 jrandom
- * Use the OS clock for stat timing, since it doesn't jump around (though
- still use the NTP'ed clock for display)
- * Added new DH stats
-
- * 2005-10-07 0.6.1.2 released
-
- 2005-10-07 jrandom
- * Include the 1 second bandwidth usage on the console rather than the
- 1 minute rate, as the 1 second value doesn't have the 1m/5m quantization
- issues.
-
- 2005-10-07 jrandom
- * Allow the I2PTunnelHTTPServer to send back the first few packets of an
- HTTP response quicker, and initialize the streaming lib's cwin more
- carefully.
- * Added a small web UI to the new Syndie scheduled updater. If you log in
- as a user authorized to use the remote archive funtionality, you can
- request remote archives in your address book to be automatically pulled
- down by checking the "scheduled?" checkbox.
-
- 2005-10-05 jrandom
- * Allow the first few packets in the stream to fill in their IDs during
- handshake (thanks cervantes, Complication, et al!) This should fix at
- least some of the intermittent HTTP POST issues.
-
- 2005-10-04 jrandom
- * Syndie patch for single user remote archives (thanks nickless_head!)
- * Handle an invalid netDb store (thanks Complication!)
-
- 2005-10-04 jrandom
- * Further reduction in unnecessary streaming packets.
-
- 2005-10-03 jrandom
- * Properly reject unroutable IP addresses *cough*
-
- 2005-10-03 rangarok
- * Changed default update delay to twelve hours, and enforced a minimum
- delay of one hour.
-
- 2005-10-03 ragnarok
- * Implemented a Syndie auto-updater. It will automatically pull new posts
- from selected syndie archives. To try it out, add
- syndie.updateArchives=<comma seperated list of syndie archives> to your
- syndie.config. Archives must be specified as the full url to archive.txt
- (e.g. http://syndiemedia.i2p/archive/archive.txt). By default, it checks
- for new posts every hour. This can be modified by setting
- syndie.updateDelay=<delay in hours> also in syndie.config.
-
- * 2005-10-01 0.6.1.1 released
-
- 2005-09-30 ragnarok
- * Implemented conditional get for syndie remote archive imports.
-
- 2005-09-30 jrandom
- * Killed three more streaming lib bugs, one of which caused excess packets
- to be transmitted (dupacking dupacks), one that was the root of many of
- the old hung streams (shrinking highest received), and another that was
- releasing data too soon.
-
- 2005-09-30 jrandom
- * Only allow autodetection of our IP address if we haven't received an
- inbound connection in the last two minutes.
- * Increase the default max streaming resends to 8 from 5 (and down from
- the earlier 10)
-
- 2005-09-29 ragnarok
- * Export petnames from syndie to the router's petname db instead of
- userhosts.txt.
-
- 2005-09-29 jrandom
- * Support noreseed.i2p in addition to .i2pnoreseed for disabling automatic
- reseeding - useful on OSes that make it hard to create dot files.
- Thanks Complication (and anon)!
- * Fixed the installer version string (thanks Frontier!)
- * Added cleaner rejection of invalid IP addresses, shitlist those who send
- us invalid IP addresses, verify again that we are not sending invalid IP
- addresses, and log an error if it happens. (Thanks Complication, ptm,
- and adab!)
-
- * 2005-09-29 0.6.1 released
-
- 2005-09-29 jrandom
- * Let syndie users modify their metadata.
- * Reseed the router on startup if there aren't enough peer references
- known locally. This can be disabled by creating the file .i2pnoreseed
- in your home directory, and the existing detection and reseed handling
- on the web interface is unchanged.
-
- 2005-09-28 jrandom
- * Fix for at least some (all?) of the wrong stream errors in the streaming
- lib
-
- 2005-09-27 jrandom
- * Properly suggest filenames for attachments in Syndie (thanks all!)
- * Fixed the Syndie authorization scheme for single user vs. multiuser
-
- 2005-09-27 jrandom
- * I2PTunnel bugfix (thanks Complication!)
- * Increase the SSU cwin slower during congestion avoidance (at k/cwin^2
- instead of k/cwin)
- * Limit the number of inbound SSU sessions being built at once (using
- half of the i2np.udp.maxConcurrentEstablish config prop)
- * Don't shitlist on a message send failure alone (unless there aren't any
- common transports).
- * More careful bandwidth bursting
-
- 2005-09-26 jrandom
- * Reworded the SSU introductions config section (thanks duck!)
- * Force identity content encoding for I2PTunnel httpserver requests
- (thanks redzara!)
- * Further x-i2p-gzip bugfixes for the end of streams
- * Reduce the minimum bandwidth limits to 3KBps steady and burst (though
- I2P's performance at 3KBps is another issue)
- * Cleaned up some streaming lib structures
-
- 2005-09-25 jrandom
- * Allow reseeding on the console if the netDb knows less than 30 peers,
- rather than less than 10 (without internet connectivity, we keep the
- last 15 router references)
- * Reenable the x-i2p-gzip HTTP processing by default, flushing the stream
- more aggressively.
- * Show the status that used to be called "ERR-Reject" as "OK (NAT)"
- * Reduced the default maximum number of streaming lib resends of a packet
- (10 retransmits is a bit much with a reasonable RTO)
-
- 2005-09-25 Complication
- * Better i2paddresshelper handling in the I2PTunnel httpclient, plus a new
- conflict resolution page if the i2paddresshelper parameter differs from
- an existing name to destination mapping.
-
- 2005-09-25 jrandom
- * Fix a long standing streaming lib bug (in the inactivity detection code)
- * Improved handling of initial streaming lib packet retransmissions to
- kill the "lost first packet" bug (where a page shows up with the first
- few KB missing)
- * Add support for initial window sizes greater than 1 - useful for
- eepsites to transmit e.g. 4 packets full of data along with the initial
- ACK, thereby cutting down on the rtt latency. The congestion window
- size can and does still shrink down to 1 packet though.
- * Adjusted the streaming lib retransmission calculation algorithm to be
- more TCP-like.
-
- 2005-09-21 redzara
- * Use ISO-8859-1 for the susidns xml
-
- 2005-09-21 susi
- * Bugfix in susidns for deleting entries
-
- 2005-09-21 jrandom
- * Add support for HTTP POST to EepGet
- * Use HTTP POST for syndie bulk fetches, since there's a lot of data to
- put in that URL.
-
- 2005-09-18 jrandom
- * Added support for pure 64bit linux with jbigi and the java service
- wrapper (no need for jcpuid if we're on os.arch=amd64). Thanks mule
- et al for help testing!
- * UI cleanup in Syndie (thanks gloin and bar!)
-
- 2005-09-18 Ragnarok
- * Made MetaNamingService the default naming service.
-
- 2005-09-17 Ragnarok
- * Implemented a naming service using Syndie's petname db. It's not enabled
- by default, but you can try it out by setting
- i2p.naming.impl=net.i2p.client.naming.PetNameNamingService in
- router.config.
- * Implemented a meta naming service that will first lookup names in the
- PetNameNamingService then fallback on the HostTxtNamingService. Which
- naming services are checked and in which order is specified by
- i2p.nameservicelist. This will probably become the default naming service
- so please help test it out by setting
- i2p.naming.impl=net.i2p.client.naming.MetaNamingService in router.config.
-
- * 2005-09-17 0.6.0.6 released
-
- 2005-09-17 jrandom
- * Clean up syndie a bit more and bundle a default introductory post with
- both new installs and updates.
- * Typo fixes on the console (thanks bar!)
-
- 2005-09-17 jrandom
- * Updated the bandwidth limiter to use two tiers of bandwidth - our normal
- steady state rate, plus a new limit on how fast we transfer when
- bursting. This is different from the old "burst as fast as possible
- until we're out of tokens" policy, and should help those with congested
- networks. See /config.jsp to manage this rate.
- * Bugfixes in Syndie to handle missing cache files (no data was lost, the
- old posts just didn't show up).
- * Log properly in EepPost
-
- 2005-09-17 jrandom
- * Added the natively compiled jbigi and patched java service wrapper for
- OS X. Thanks Bill Dorsey for letting me use your machine!
- * Don't build i2p.exe or i2pinstall.exe when run on OS X machines, as we
- don't bundle the binutils necessary (and there'd be a naming conflict
- if we did).
- * Added 'single user' functionality to syndie - if the single user
- checkbox on the admin page is checked, all users are allowed to control
- the instance and sync up with remote syndie nodes.
- * Temporarily disable the x-i2p-gzip in i2ptunnel until it is more closely
- debugged.
-
- 2005-09-16 jrandom
- * Reject unroutable IPs in SSU like we do for the TCP transport (unless
- you have i2np.udp.allowLocal=true defined - useful for private nets)
-
- 2005-09-16 jrandom
- * Adjust I2PTunnelHTTPServer so it can be used for outproxy operators
- (just specify the spoofed host as an empty string), allowing them to
- honor x-i2p-gzip encoding.
- * Let windows users build the exes too (thanks bar and redzara!)
- * Allow I2PTunnel httpserver operators to disable gzip compression on
- individual tunnels with the i2ptunnel.gzip=false client option
- (good idea susi!)
-
- 2005-09-16 jrandom
- * Added the i2p.exe and i2pinstall.exe for windows users, using launch4j.
- * Added runplain.sh for *nix/osx users having problems using the java
- service wrapper (called from the install dir as: sh runplain.sh)
- * Bundle susidns and syndie, with links on the top nav
- * Have I2PTunnelHTTPClient and I2PTunnelHTTPServer use the x-i2p-gzip
- content-encoding (if offered), reducing the payload size before it
- reaches the streaming lib. The existing compression is at the i2cp
- level, so we've been packetizing 4KB of uncompressed data and then
- compressing those messages, rather than compressing and then packetizing
- 4KB of compressed data. This should reduce the number of round trips
- to fetch web pages substantially.
- * Adjust the startup and timing of the addressbook so that susidns always
- has config to work off, and expose a method for susidns to tell it to
- reload its config and rerun.
-
- 2005-09-15 jrandom
- * Error handling for failed intro packets (thanks red.hand!)
- * More carefully verify intro addresses
-
- 2005-09-13 jrandom
- * More careful error handling with introductions (thanks dust!)
- * Fix the forceIntroducers checkbox on config.jsp (thanks Complication!)
- * Hide the shitlist on the summary so it doesn't confuse new users.
-
- 2005-09-12 comwiz
- * Migrated the router tests to junit
-
- 2005-09-12 jrandom
- * Removed guaranteed delivery mode entirely (so existing i2phex clients
- using it can get the benefits of mode=best_effort). Guaranteed delivery
- is offered at the streaming lib level.
- * Improve the peer selection code for peer testing, as everyone now
- supports tests.
- * Give the watchdog its fangs - if it detects obscene job lag or if
- clients have been unable to get a leaseSet for more than 5 minutes,
- restart the router. This was disabled a year ago due to spurious
- restarts, and can be disabled by "watchdog.haltOnHang=false", but the
- cause of the spurious restarts should be gone.
-
- 2005-09-12 jrandom
- * Bugfix for skewed store which could kill a UDP thread (causing complete
- comm failure and eventual OOM)
-
- 2005-09-12 jrandom
- * More aggressively publish updated routerInfo.
- * Expose the flag to force SSU introductions on the router console
- * Don't give people the option to disable SNTP time sync, at least not
- through the router console, because there is no reason to disable it.
- No, not even if your OS is "ntp synced", because chances are, its not.
-
- 2005-09-10 jrandom
- * Test the router's reachability earlier and more aggressively
- * Use the low level bandwidth limiter's rates for the router console, and
- if the router has net.i2p.router.transport.FIFOBandwidthLimiter=INFO in
- the logger config, keep track of the 1 second transfer rates as the stat
- 'bw.sendBps1s' and 'bw.recvBps1s', allowing closer monitoring of burst
- behavior.
-
- 2005-09-09 jrandom
- * Added preliminary support for NAT hole punching through SSU introducers
- * Honor peer test results from peers that we have an SSU session with if
- those sessions are idle for 3 minutes or more.
-
- 2005-09-09 cervantes
- * New build due to change in build number :P (thanks ugha!)
-
- 2005-09-07 BarkerJr
- * HTML cleanup for the router console (thanks!)
-
- 2005-09-07 jrandom
- * Lay the foundation for 'client routers' - the ability for peers to opt
- out of participating in tunnels entirely due to firewall/NAT issues.
- Individual routers have control over where those peers are used in
- tunnels - in outbound or inbound, exploratory or client tunnels, or
- none at all. The defaults with this build are to simply act as before -
- placing everyone as potential participants in any tunnel.
- * Another part of the foundation includes the option for netDb
- participants to refuse to answer queries regarding peers who are marked
- as unreachable, though this too is disabled by default (meaning the
- routerInfo is retrievable from the netDb).
-
- 2005-09-05 jrandom
- * Expose the HTTP headers to EepGet status listeners
- * Handle DSA key failures properly (if the signature is not invertable, it
- is obviously invalid)
-
- 2005-09-04 jrandom
- * Don't persist peer profiles until we are shutting down, as the
- persistence process gobbles RAM and wall time.
- * Bugfix to allow you to check/uncheck the sharedClient setting on the
- I2PTunnel web interface (thanks BarkerJr!)
- * Be more careful when expiring a failed tunnel message fragment so we
- don't drop the data while attempting to read it.
-
- * 2005-09-02 0.6.0.5 released
-
- 2005-09-02 jrandom
- * Don't refuse to send a netDb store if the targetted peer has failed a
- bit (the value was an arbitrary amount).
- * Logging changes
-
- * 2005-09-01 0.6.0.4 released
-
- 2005-09-01 jrandom
- * Don't send out a netDb store of a router if it is more than a few hours
- old, even if someone asked us for it.
-
- 2005-08-31 jrandom
- * Don't publish leaseSets to the netDb if they will never be looked for -
- namely, if they are for destinations that only establish outbound
- streams. I2PTunnel's 'client' and 'httpclient' proxies have been
- modified to tell the router that it doesn't need to publish their
- leaseSet (by setting the I2CP config option 'i2cp.dontPublishLeaseSet'
- to 'true').
- * Don't publish the top 10 peer rankings of each router in the netdb, as
- it isn't being watched right now.
-
- 2005-08-29 jrandom
- * Added the new test Floodfill netDb
-
- 2005-08-27 jrandom
- * Minor logging and optimization tweaks in the router and SDK
- * Use ISO-8859-1 in the XML files (thanks redzara!)
- * The consolePassword config property can now be used to bypass the router
- console's nonce checking, allowing CLI restarts
-
- 2005-08-24 jrandom
- * Catch errors with corrupt tunnel messages more gracefully (no need to
- kill the thread and cause an OOM...)
- * Don't skip shitlisted peers for netDb store messages, as they aren't
- necessarily shitlisted by other people (though they probably are).
- * Adjust the netDb store per-peer timeout based on each particular peer's
- profile (timeout = 4x their average netDb store response time)
- * Don't republish leaseSets to *failed* peers - send them to peers who
- replied but just didn't know the value.
- * Set a 5 second timeout on the I2PTunnelHTTPServer reading the client's
- HTTP headers, rather than blocking indefinitely. HTTP headers should be
- sent entirely within the first streaming packet anyway, so this won't be
- a problem.
- * Don't use the I2PTunnel*Server handler thread pool by default, as it may
- prevent any clients from accessing the server if the handlers get
- blocked by the streaming lib or other issues.
- * Don't overwrite a known status (OK/ERR-Reject/ERR-SymmetricNAT) with
- Unknown.
-
- 2005-08-23 jrandom
- * Removed the concept of "no bandwidth limit" - if none is specified, its
- 16KBps in/out.
- * Include ack packets in the per-peer cwin throttle (they were part of the
- bandwidth limit though).
- * Tweak the SSU cwin operation to get more accurrate estimates under
- congestions.
- * SSU improvements to resend more efficiently.
- * Added a basic scheduler to eepget to fetch multiple files sequentially.
-
- * 2005-08-21 0.6.0.3 released
-
- 2005-08-21 jrandom
- * If we already have an established SSU session with the Charlie helping
- test us, cancel the test with the status of "unknown".
-
- 2005-08-17 jrandom
- * Revise the SSU peer testing protocol so that Bob verifies Charlie's
- viability before agreeing to Alice's request. This doesn't work with
- older SSU peer test builds, but is backwards compatible (older nodes
- won't ask newer nodes to participate in tests, and newer nodes won't
- ask older nodes to either).
-
- 2005-08-12 jrandom
- * Keep detailed stats on the peer testing, publishing the results in the
- netDb.
- * Don't overwrite the status with 'unknown' unless we haven't had a valid
- status in a while.
- * Make sure to avoid shitlisted peers for peer testing.
- * When we get an unknown result to a peer test, try again soon afterwards.
- * When a peer tells us that our address is different from what we expect,
- if we've done a recent peer test with a result of OK, fire off a peer
- test to make sure our IP/port is still valid. If our test is old or the
- result was not OK, accept their suggestion, but queue up a peer test for
- later.
- * Don't try to do a netDb store to a shitlisted peer, and adjust the way
- we monitor netDb store progress (to clear up the high netDb.storePeers
- stat)
-
- 2005-08-10 jrandom
- * Deployed the peer testing implementation to be run every few minutes on
- each router, as well as any time the user requests a test manually. The
- tests do not reconfigure the ports at the moment, merely determine under
- what conditions the local router is reachable. The status shown in the
- top left will be "ERR-SymmetricNAT" if the user's IP and port show up
- differently for different peers, "ERR-Reject" if the router cannot
- receive unsolicited packets or the peer helping test could not find a
- collaborator, "Unknown" if the test has not been run or the test
- participants were unreachable, or "OK" if the router can receive
- unsolicited connections and those connections use the same IP and port.
-
- * 2005-08-08 0.6.0.2 released
-
- 2005-08-08 jrandom
- * Add a configurable throttle to the number of concurrent outbound SSU
- connection negotiations (via i2np.udp.maxConcurrentEstablish=4). This
- may help those with slow connections to get integrated at the start.
- * Further fixlets to the streaming lib
-
- 2005-08-07 Complication
- * Display the average clock skew for both SSU and TCP connections
-
- 2005-08-07 jrandom
- * Fixed the long standing streaming lib bug where we could lose the first
- packet on retransmission.
- * Avoid an NPE when a message expires on the SSU queue.
- * Adjust the streaming lib's window growth factor with an additional
- Vegas-esque congestion detection algorithm.
- * Removed an unnecessary SSU session drop
- * Reduced the MTU (until we get a working PMTU lib)
- * Deferr tunnel acceptance until we know how to reach the next hop,
- rejecting it if we can't find them in time.
- * If our netDb store of our leaseSet fails, give it a few seconds before
- republishing.
-
- * 2005-08-03 0.6.0.1 released
-
- 2005-08-03 jrandom
- * Backed out an inadvertant change to the netDb store redundancy factor.
- * Verify tunnel participant caching.
- * Logging cleanup
-
- 2005-08-01 duck
- * Update IzPack to 3.7.2 (build 2005.04.22). This fixes bug #82.
-
- 2005-08-01 duck
- * Fix an addressbook NPE when a new hostname from the master addressbook
- didn't exist in the router addressbook.
- * Fix an addressbook bug which caused subscriptions not to be parsed at
- all. (Oops!)
-
- 2005-07-31 jrandom
- * Adjust the netDb search and store per peer timeouts to match the average
- measured per peer success times, rather than huge fixed values.
- * Optimized and reverified the netDb peer selection / retrieval process
- within the kbuckets.
- * Drop TCP connections that don't have any useful activity in 10 minutes.
- * If i2np.udp.fixedPort=true, never change the externally published port,
- even if we are autodetecting the IP address.
-
- * 2005-07-27 0.6 released
-
- 2005-07-27 jrandom
- * Enabled SSU as the default top priority transport, adjusting the
- config.jsp page accordingly.
- * Add verification fields to the SSU and TCP connection negotiation (not
- compatible with previous builds)
- * Enable the backwards incompatible tunnel crypto change as documented in
- tunnel-alt.html (have each hop encrypt the received IV before using it,
- then encrypt it again before sending it on)
- * Disable the I2CP encryption, leaving in place the end to end garlic
- encryption (another backwards incompatible change)
- * Adjust the protocol versions on the TCP and SSU transports so that they
- won't talk to older routers.
- * Fix up the config stats handling again
- * Fix a rare off-by-one in the SSU fragmentation
- * Reduce some unnecessary netDb resending by inluding the peers queried
- successfully in the store redundancy count.
-
- 2005-07-22 jrandom
- * Use the small thread pool for I2PTunnelHTTPServer (already used for
- I2PTunnelServer)
- * Minor memory churn reduction in I2CP
- * Small stats update
-
- 2005-07-21 jrandom
- * Fix in the SDK for a bug which would manifest itself as misrouted
- streaming packets when a destination has many concurrent streaming
- connections (thanks duck!)
- * No more "Graceful shutdown in -18140121441141s"
-
- 2005-07-20 jrandom
- * Allow the user to specify an external port # for SSU even if the external
- host isn't specified (thanks duck!)
-
- 2005-07-19 jrandom
- * Further preparation for removing I2CP crypto
- * Added some validation to the DH key agreement (thanks $anon)
- * Validate tunnel data message expirations (though not really a problem,
- since tunnels expire)
- * Minor PRNG threading cleanup
-
- 2005-07-15 cervantes
- * Added workaround for an odd win32 bug in the stats configuration console
- page which meant only the first checkbox selection was saved.
-
- 2005-07-15 Romster
- * Added per group selection toggles in the stats configuration console
- page.
-
- 2005-07-13 jrandom
- * Fixed a recently injected bug in the multitransport bidding which had
- allowed an essentially arbitrary choice of transports, rather than the
- properly ordered choice.
-
- 2005-07-13 jrandom
- * Fixed a long standing bug where we weren't properly comparing session
- tags but instead largely depending upon comparing their hashCode,
- causing intermittent decryption errors.
-
- 2005-07-12 jrandom
- * Add some data duplication to avoid a recently injected concurrency
- problem in the session tag manager (thanks redzara and romster).
-
- 2005-07-11 jrandom
- * Reduced the growth factor on the slow start and congestion avoidance for
- the streaming lib.
- * Adjusted some of the I2PTunnelServer threading to use a small pool of
- handlers, rather than launching off new threads which then immediately
- launch off an I2PTunnelRunner instance (which launches 3 more threads..)
- * Don't persist session keys / session tags (not worth it, for now)
- * Added some detection and handling code for duplicate session tags being
- delivered (root cause still not addressed)
- * Make the PRNG's buffer size configurable (via the config property
- "i2p.prng.totalBufferSizeKB=4096")
- * Disable SSU flooding by default (duh)
- * Updates to the StreamSink apps for better throttling tests.
-
- 2005-07-05 jrandom
- * Use a buffered PRNG, pulling the PRNG data off a larger precalculated
- buffer, rather than the underlying PRNG's (likely small) one, which in
- turn reduces the frequency of recalcing.
- * More tuning to reduce temporary allocation churn
-
- 2005-07-04 jrandom
- * Within the tunnel, use xor(IV, msg[0:16]) as the flag to detect dups,
- rather than the IV by itself, preventing an attack that would let
- colluding internal adversaries tag a message to determine that they are
- in the same tunnel. Thanks dvorak for the catch!
- * Drop long inactive profiles on startup and shutdown
- * /configstats.jsp: web interface to pick what stats to log
- * Deliver more session tags to account for wider window sizes
- * Cache some intermediate values in our HMACSHA256 and BC's HMAC
- * Track the client send rate (stream.sendBps and client.sendBpsRaw)
- * UrlLauncher: adjust the browser selection order
- * I2PAppContext: hooks for dummy HMACSHA256 and a weak PRNG
- * StreamSinkClient: add support for sending an unlimited amount of data
- * Migrate the tests out of the default build jars
-
- 2005-06-22 Comwiz
- * Migrate the core tests to junit
-
- 2005-05-25 duck
- * Fixed PRNG bug (bugzilla #107)
-
- 2005-05-01 jrandom
- * Added a substantial optimization to the AES engine by caching the
- prepared session keys (duh).
-
- 2005-05-01 jrandom
- * Cleaned up the peers page a bit more.
-
- 2005-04-30 jrandom
- * Added a small new page to the web console (/peers.jsp) which contains
- the peer connection information. This will be cleaned up a lot more
- before 0.6 is out, but its a start.
-
- 2005-04-30 jrandom
- * Reduced some SimpleTimer churn
-
- 2005-04-29 jrandom
- * Reduce the peer profile stat coallesce overhead by inlining it with the
- reorganize.
- * Limit each transport to at most one address (any transport that requires
- multiple entry points can include those alternatives in the address).
-
- 2005-04-28 jrandom
- * More fixes for the I2PTunnel "other" interface handling (thanks nelgin!)
- * Add back the code to handle bids from multiple transports (though there
- is still only one transport enabled by default)
- * Adjust the router's queueing of outbound client messages when under
- heavy load by running the preparatory job in the client's I2CP handler
- thread, thereby blocking additional outbound messages when the router is
- hosed.
- * No need to validate or persist a netDb entry if we already have it
-
- 2005-04-25 smeghead
- * Added button to router console for manual update checks.
- * Fixed bug in configupdate.jsp that caused the proxy port to be updated
- every time the form was submitted even if it hadn't changed.
-
- 2005-04-24 jrandom
- * Added a pool of PRNGs using a different synchronization technique,
- hopefully sufficient to work around IBM's PRNG bugs until we get our
- own Fortuna.
- * In the streaming lib, don't jack up the RTT on NACK, and have the window
- size bound the not-yet-ready messages to the peer, not the unacked
- message count (not sure yet whether this is worthwile).
- * Many additions to the messageHistory log.
- * Handle out of order tunnel fragment delivery (not an issue on the live
- net with TCP, but critical with UDP).
-
- * 2005-04-20 0.5.0.7 released
-
- 2005-04-20 jrandom
- * In the SDK, we don't actually need to block when we're sending a message
- as BestEffort (and these days, we're always sending BestEffort).
- * Pass out client messages in fewer (larger) steps.
- * Have the InNetMessagePool short circuit dispatch requests.
- * Have the message validator take into account expiration to cut down on
- false positives at high transfer rates.
- * Allow configuration of the probabalistic window size growth rate in the
- streaming lib's slow start and congestion avoidance phases, and default
- them to a more conservative value (2), rather than the previous value
- (1).
- * Reduce the ack delay in the streaming lib to 500ms
- * Honor choke requests in the streaming lib (only affects those getting
- insanely high transfer rates)
- * Let the user specify an interface besides 127.0.0.1 or 0.0.0.0 on the
- I2PTunnel client page (thanks maestro^!)
-
- 2005-04-17 sirup
- * Added the possibility for i2ptunnel client and httpclient instances to
- have their own i2p session (and hence, destination and tunnels). By
- default, tunnels are shared, but that can be changed on the web
- interface or with the sharedClient config option in i2ptunnel.config.
-
- 2005-04-17 jrandom
- * Marked the net.i2p.i2ptunnel.TunnelManager as deprecated. Anyone use
- this? If not, I want to drop it (lots of tiny details with lots of
- duplicated semantics).
-
- 2005-04-17 zzz
- * Added new user-editable eepproxy error page templates.
-
- 2005-04-17 jrandom
- * Revamp the tunnel building throttles, fixing a situation where the
- rebuild may not recover, and defaulting it to unthrottled (users with
- slow CPUs may want to set "router.tunnel.shouldThrottle=true" in their
- advanced router config)
-
- 2005-04-16 jrandom
- * Migrated to Bouncycastle's SHA256 and HMAC implementations for efficiency
-
- 2005-04-12 jrandom
- * Make sure we don't get cached updates (thanks smeghead!)
- * Clear out the callback for the TestJob after it passes (only affects the
- job timing accounting)
-
- 2005-04-08 smeghead
- * Added NativeBigInteger benchmark to scripts/i2pbench.sh.
-
- 2005-04-08 smeghead
- * Security improvements to TrustedUpdate: signing and verification of the
- version string along with the data payload for signed update files
- (consequently the positions of the DSA signature and version string fields
- have been swapped in the spec for the update file's header); router will
- no longer perform a trusted update if the signed update's version is lower
- than or equal to the currently running router's version.
- * Added two new CLI commands to TrustedUpdate: showversion, verifyupdate.
- * Extended TrustedUpdate public API for use by third party applications.
-
- * 2005-04-06 0.5.0.6 released
-
- 2005-04-05 jrandom
- * Retry I2PTunnel startup if we are unable to build a socketManager for a
- client or httpclient tunnel.
- * Add some basic sanity checking on the I2CP settings (thanks duck!)
-
- 2005-04-05 jrandom
- * After a successfull netDb search for a leaseSet, republish it to all of
- the peers we have tried so far who did not give us the key (up to 10),
- rather than the old K closest (which may include peers who had given us
- the key)
- * Don't wait 5 minutes to publish a leaseSet (duh!), and rather than
- republish it every 5 minutes, republish it every 3. In addition, always
- republish as soon as the leaseSet changes (duh^2).
- * Minor fix for oddball startup race (thanks travis_bickle!)
- * Minor AES update to allow in-place decryption.
-
- 2005-04-03 jrandom
- * EepGet fix for open-ended HTTP fetches (such as the news.xml
- feeding the NewsFetcher)
-
- 2005-04-01 jrandom
- * Allow editing I2PTunnel server instances with five digit ports
- (thanks nickless_head!)
- * More NewsFetcher debugging for reported weirdness
-
- 2005-04-01 jrandom
- * Fix to check for missing news file (thanks smeghead!)
- * Added destination display CLI:
- java -cp lib/i2p.jar net.i2p.data.Destination privKeyFilename
- * Added destination display to the web interface (thanks pnspns)
- * Installed CIA backdoor
-
- * 2005-03-29 0.5.0.5 released
-
- 2005-03-29 jrandom
- * Decreased the initial RTT estimate to 10s to allow more retries.
- * Increased the default netDb store replication factor from 2 to 6 to take
- into consideration tunnel failures.
- * Address some statistical anonymity attacks against the netDb that could
- be mounted by an active internal adversary by only answering lookups for
- leaseSets we received through an unsolicited store.
- * Don't throttle lookup responses (we throttle enough elsewhere)
- * Fix the NewsFetcher so that it doesn't incorrectly resume midway through
- the file (thanks nickster!)
- * Updated the I2PTunnel HTML (thanks postman!)
- * Added support to the I2PTunnel pages for the URL parameter "passphrase",
- which, if matched against the router.config "i2ptunnel.passphrase" value,
- skips the nonce check. If the config prop doesn't exist or is blank, no
- passphrase is accepted.
- * Implemented HMAC-SHA256.
- * Enable the tunnel batching with a 500ms delay by default
- * Dropped compatability with 0.5.0.3 and earlier releases
-
- 2005-03-26 jrandom
- * Added some error handling and fairly safe to cache data to the streaming
- lib (good call Tom!)
-
- 2005-03-25 jrandom
- * Fixed up building dependencies for the routerconsole on some more
- aggressive compilers (thanks polecat!)
-
- * 2005-03-24 0.5.0.4 released
-
- 2005-03-23 jrandom
- * Added more intelligent version checking in news.xml, in case we have a
- version newer than the one specified.
-
- 2005-03-23 jrandom
- * Added support for Transfer-Encoding: chunked to the EepGet, so that the
- cvsweb.cgi doesn't puke on us.
-
- 2005-03-23 Connelly
- * Fixed Bugzilla Bug #99 in the SAM Bridge, which caused pending
- stream send data to not be sent if STREAM CLOSE is issued too fast.
-
- 2005-03-23 jrandom
- * Implemented the news fetch / update policy code, as configurated on
- /configupdate.jsp. Defaults are to grab the news every 24h (or if it
- doesn't exist yet, on startup). No action is taken however, though if
- the news.xml specifies that a new release is available, an option to
- update will be shown on the router console.
- * New initialNews.xml delivered with new installs, and moved news.xml out
- of the i2pwww module and into the i2p module so that we can bundle it
- within each update.
-
- 2005-03-23 jrandom
- * New /configupdate.jsp page for controlling the update / notification
- process, as well as various minor related updates. Note that not all
- options are exposed yet, and the update detection code isn't in place
- in this commit - it currently says there is always an update available.
- * New EepGet component for reliable downloading, with a CLI exposed in
- java -cp lib/i2p.jar net.i2p.util.EepGet url
- * Added a default signing key to the TrustedUpdate component to be used
- for verifying updates. This signing key can be authenticated via
- gpg --verify i2p/core/java/src/net/i2p/crypto/TrustedUpdate.java
- * New public domain SHA1 implementation for the DSA code so that we can
- handle signing streams of arbitrary size without excess memory usage
- (thanks P.Verdy!)
- * Added some helpers to the TrustedUpdate to work off streams and to offer
- a minimal CLI:
- TrustedUpdate keygen pubKeyFile privKeyFile
- TrustedUpdate sign origFile signedFile privKeyFile
- TrustedUpdate verify signedFile
-
- 2005-03-22 smeghead
- * New TrustedUpdate component for signing/verifying files with a DSA
- signature.
-
- 2005-03-21 jrandom
- * Fixed the tunnel fragmentation handler to deal with multiple fragments
- in a single message properly (rather than release the buffer into the
- cache after processing the first one) (duh!)
- * Added the batching preprocessor which will bundle together multiple
- small messages inside a single tunnel message by delaying their delivery
- up to .5s, or whenever the pending data will fill a full message,
- whichever comes first. This is disabled at the moment, since without the
- above bugfix widely deployed, lots and lots of messages would fail.
- * Within each tunnel pool, stick with a randomly selected peer for up to
- .5s before randomizing and selecting again, instead of randomizing the
- pool each time a tunnel is needed.
-
- * 2005-03-18 0.5.0.3 released
-
- 2005-03-18 jrandom
- * Minor tweak to the timestamper to help reduce small skews
- * Adjust the stats published to include only the relevent ones
- * Only show the currently used speed calculation on the profile page
- * Allow the full max # resends to be sent, rather than piggybacking the
- RESET packet along side the final resend (duh)
- * Add irc.postman.i2p to the default list of IRC servers for new installs
- * Drop support for routers running 0.5 or 0.5.0.1 while maintaining
- backwards compatability for users running 0.5.0.2.
-
- 2005-03-18 jrandom
- * Eepproxy Fix for corrupted HTTP headers (thanks nickster!)
- * Fixed case sensitivity issues on the HTTP headers (thanks duck!)
-
- 2005-03-17 jrandom
- * Update the old speed calculator and associated profile data points to
- use a non-tiered moving average of the tunnel test time, avoiding the
- freshness issues of the old tiered speed stats.
- * Explicitly synchronize all of the methods on the PRNG, rather than just
- the feeder methods (sun and kaffe only need the feeder, but it seems ibm
- needs all of them synchronized).
- * Properly use the tunnel tests as part of the profile stats.
- * Don't flood the jobqueue with sequential persist profile tasks, but
- instead, inject a brief scheduling delay between them.
- * Reduce the TCP connection establishment timeout to 20s (which is still
- absurdly excessive)
- * Reduced the max resend delay to 30s so we can get some resends in when
- dealing with client apps that hang up early (e.g. wget)
- * Added more alternative socketManager factories (good call aum!)
-
- 2005-03-16 jrandom
- * Adjust the old speed calculator to include end to end RTT data in its
- estimates, and use that as the primary speed calculator again.
- * Use the mean of the high capacity speeds to determine the fast
- threshold, rather than the median. Perhaps we should use the mean of
- all active non-failing peers?
- * Updated the profile page to sort by tier, then alphabetically.
- * Added some alternative socketManager factories (good call aum!)
-
- 2005-03-14 jrandom
- * New strict speed calculator that goes off the actual number of messages
- verifiably sent through the peer by way of tunnels. Initially, this only
- contains the successful message count on inbound tunnels, but may be
- augmented later to include verified outbound messages, peers queried in
- the netDb, etc. The speed calculation decays quickly, but should give
- a better differential than the previous stat (both values are shown on
- the /profiles.jsp page)
-
- 2005-03-11 jrandom
- * Rather than the fixed resend timeout floor (10s), use 10s+RTT as the
- minimum (increased on resends as before, of course).
- * Always prod the clock update listeners, even if just to tell them that
- the time hasn't changed much.
- * Added support for explicit peer selection for individual tunnel pools,
- which will be useful in debugging but not recommended for use by normal
- end users.
- * More aggressively search for the next hop's routerInfo on tunnel join.
- * Give messages received via inbound tunnels that are bound to remote
- locations sufficient time (taking into account clock skew).
- * Give alternate direct send messages sufficient time (10s min, not 5s)
- * Always give the end to end data message the explicit timeout (though the
- old default was sufficient before)
- * No need to give end to end messages an insane expiration (+2m), as we
- are already handling skew on the receiving side.
- * Don't complain too loudly about expired TunnelCreateMessages (at least,
- not until after all those 0.5 and 0.5.0.1 users upgrade ;)
- * Properly keep the sendBps stat
- * When running the router with router.keepHistory=true, log more data to
- messageHistory.txt
- * Logging updates
- * Minor formatting updates
-
- 2005-03-08 jrandom
- * More aggressively adjust the clock
-
- 2005-03-07 jrandom
- * Fix the HTTP response header filter to allow multiple headers with the
- same name (thanks duck and spotteri!)
-
- * 2005-03-06 0.5.0.2 released
-
- 2005-03-06 jrandom
- * Allow the I2PTunnel web interface to select streaming lib options for
- individual client tunnels, rather than sharing them across all of them,
- as we do with the session options. This way people can (and should) set
- the irc proxy to interactive and the eepproxy to bulk.
- * Added a startRouter.sh script to new installs which simply calls
- "sh i2prouter start". This should make it clear how people should start
- I2P.
- * Properly expand the HTTP response header buffer (thanks shendaras!)
-
- 2005-03-04 jrandom
- * Filter HTTP response headers in the eepproxy, forcing Connection: close
- so that broken (/malicious) webservers can't allow persistent
- connections. All HTTP compliant browsers should now always close the
- socket.
- * Enabled the GZIPInputStream's cache (they weren't cached before)
- * Make sure our first send is always a SYN (duh)
- * Workaround for some buggy compilers
-
- 2005-03-03 jrandom
- * Loop while starting up the I2PTunnel instances, in case the I2CP
- listener isn't up yet (thanks detonate!)
- * Implement custom reusable GZIP streams to both reduce memory churn
- and prevent the exposure of data in the standard GZIP header (creation
- time, OS, etc). This is RFC1952 compliant, and backwards compatible,
- though has only been tested within the confines of I2P's compression use
- (DataHelper.[de]compress).
- * Preemptively support the next protocol version, so that after the 0.5.0.2
- release, we'll be able to drop protocol=2 to get rid of 0.5 users.
-
- 2005-03-02 jrandom
- * Fix one substantial OOM cause (session tag manager was only dropping
- tags once the critical limit was met, rather than honoring their
- expiration) (duh)
- * Lots of small memory fixes
- * Double the allowable concurrent outstanding tunnel build tasks (20)
-
- 2005-03-01 jrandom
- * Really disable the streaming lib packet caching
- * Synchronized a message handling point in the SDK (even though its use is
- already essentially single threaded, its better to play it safe)
- * Don't add new RepublishLeaseSetJobs on failure, just requeue up the
- existing one (duh)
- * Throttle the number of concurrent pending tunnel builds across all
- pools, in addition to simply throttling the number of new requests per
- minute for each pool individually. This should avoid the cascading
- failure when tunnel builds take too long, as no new builds will be
- created until the previous ones are handled.
- * Factored out and extended the DataHelper's unit tests for dealing with
- long and date formatting.
- * Explicitly specify the HTTP auth realm as "i2prouter", though this
- alone doesn't address the bug where jetty asks for authentication too
- much. (thanks orion!)
- * Updated the StreamSinkServer to ignore all read bytes, rather than write
- them to the filesystem.
-
- 2005-02-27 jrandom
- * Don't rerequest leaseSets if there are already pending requests
- * Reverted the insufficiently tested caching in the DSA/SHA1 impl, and
- temporary disabled the streaming lib packet caching.
- * Reduced the resend RTT penalty to 10s
-
- 2005-02-26 jrandom
- * Force 1.3-isms on the precompiled jsps too (thanks laberhost)
-
- 2005-02-26 jrandom
- * Further streaming lib caching improvements
- * Reduce the minimum RTT (used to calculate retry timeouts), but also
- increase the RTT on resends.
- * Lower the default message size to 4KB from 16KB to further reduce the
- chance of failed fragmentation.
- * Extend tunnel rebuild throttling to include fallback rebuilds
- * If there are less than 20 routers known, don't drop the last 20 (to help
- avoid dropping all peers under catastrophic failures)
- * New stats for end to end messages - "client.leaseSetFoundLocally",
- "client.leaseSetFoundRemoteTime", and "client.leaseSetFailedRemoteTime"
-
- 2005-02-24 jrandom
- * Throttle the number of tunnel rebuilds per minute, preventing CPU
- overload under catastrophic failures (thanks Tracker and cervantes!)
- * Block the router startup process until we've initialized the clock
-
- 2005-02-24 jrandom
- * Cache temporary memory allocation in the DSA's SHA1 impl, and the packet
- data in the streaming lib.
- * Fixed a streaming lib bug where the connection initiator would fail the
- stream if the ACK to their SYN was lost.
-
- 2005-02-23 jrandom
- * Now that we don't get stale SAM sessions, it'd be nice if we didn't
- get stale tunnel pools, don't you think?
-
- * 2005-02-23 0.5.0.1 released
-
- 2005-02-22 jrandom
- * Reworked the tunnel (re)building process to remove the tokens and
- provide cleaner controls on the tunnels built.
- * Fixed situations where the timestamper wanted to test more servers than
- were provided (thanks Tracker!)
- * Get rid of the dead SAM sessions by using the streaming lib's callbacks
- (thanks Tracker!)
-
- 2005-02-22 jrandom
- * Temporary workaround for the I2CP disconnect bug (have the streaminglib
- try to automatically reconnect on accept()/connect(..)).
- * Loop check for expired lease republishing (just in case)
-
- 2005-02-22 jrandom
- * Adjusted (and fixed...) the timestamper change detection
- * Deal with a rare reordering bug at the beginning of a stream (so we
- don't drop it unnecessarily)
- * Cleaned up some dropped message handling in the router
- * Reduced job queue churn when dealing with a large number of tunnels by
- sharing an expiration job
- * Keep a separate list of the most recent CRIT messages (shown on the
- logs.jsp). This way they don't get buried among any other messages.
- * For clarity, display the tunnel variance config as "Randomization" on
- the web console.
- * If lease republishing fails (boo! hiss!) try it again
- * Actually fix the negative jobLag in the right place (this time)
- * Allow reseeding when there are less than 10 known peer references
- * Lots of logging updates.
-
- 2005-02-20 jrandom
- * Allow the streaming lib resend frequency to drop down to 20s as the
- minimum, so that up to 2 retries can get sent on an http request.
- * Add further limits to failsafe tunnels.
- * Keep exploratory and client tunnel testing and building stats separate.
- * Only use the 60s period for throttling tunnel requests due to transient
- network overload.
- * Rebuild tunnels earlier (1-3m before expiration, by default)
- * Cache the next hop's routerInfo for participating tunnels so that the
- tunnel participation doesn't depend on the netDb.
- * Fixed a long standing bug in the streaming lib where we wouldn't always
- unchoke messages when the window size grows.
- * Make sure the window size never reaches 0 (duh)
-
- 2005-02-20 jrandom
- * Only build failsafe tunnels if we need them
- * Properly implement the selectNotFailingPeers so that we get a random
- selection of peers, rather than using the strictOrdering (thanks dm!)
- * Don't include too many "don't tell me about" peer references in the
- lookup message - only send the 10 peer references closest to the target.
-
- 2005-02-19 jrandom
- * Only build new extra tunnels on failure if we don't have enough
- * Fix a fencepost in the tunnel building so that e.g. a variance of
- 2 means +/- 2, not +/- 1 (thanks dm!)
- * Avoid an NPE on client disconnect
- * Never select a shitlisted peer to participate in a tunnel
- * Have netDb store messages timeout after 10s, not the full 60s (duh)
- * Keep session tags around for a little longer, just in case (grr)
- * Cleaned up some closing event issues on the streaming lib
- * Stop bundling the jetty 5.1.2 and updated wrapper.config in the update
- so that 0.4.* users will need to do a clean install, but we don't need
- to shove an additional 2MB in each update to those already on 0.5.
- * Imported the susimail css (oops, thanks susi!)
-
- * 2005-02-18 0.5 released
-
- 2005-02-17 jrandom
- * If the clock is adjusted during a job run, don't act as if the job took
- negative time.
-
- 2005-02-17 jrandom
- * Included the GPL'ed susimail 0.13 by default (thanks susi23!)
-
- 2005-02-17 jrandom
- * Fixed the braindead tunnel testing logic
- * If a large number of tunnels are failing (within the last 5-10 minutes)
- and the current tunnel pool's configuration allows it, randomly build a
- zero hop tunnel to replace failed tunnels.
- * Enable postman's POP3 and SMTP tunnels by default
-
- 2005-02-16 jrandom
- * Added some error handling when the number of session tags exceeds the
- realistic capacity, dropping a random chunk of received tag sets and
- conducting some minor analysis of the remaining ones. This is a part
- of a pretty serious error condition, and logs as CRIT (if/when people
- see "TOO MANY SESSION TAGS!", please let me know the full log line it
- puts in the wrapper.log or /logs.jsp)
- * Update the addressbook to only write to the published hosts location
- if the addressbook's config contains "should_publish=true" (by default,
- it contains "should_publish=false")
-
- 2005-02-16 jrandom
- * (Merged the 0.5-pre branch back into CVS HEAD)
- * Replaced the old tunnel routing crypto with the one specified in
- router/doc/tunnel-alt.html, including updates to the web console to view
- and tweak it.
- * Provide the means for routers to reject tunnel requests with a wider
- range of responses:
- probabalistic rejection, due to approaching overload
- transient rejection, due to temporary overload
- bandwidth rejection, due to persistent bandwidth overload
- critical rejection, due to general router fault (or imminent shutdown)
- The different responses are factored into the profiles accordingly.
- * Replaced the old I2CP tunnel related options (tunnels.depthInbound, etc)
- with a series of new properties, relevent to the new tunnel routing code:
- inbound.nickname (used on the console)
- inbound.quantity (# of tunnels to use in any leaseSets)
- inbound.backupQuantity (# of tunnels to keep in the ready)
- inbound.length (# of remote peers in the tunnel)
- inbound.lengthVariance (if > 0, permute the length by adding a random #
- up to the variance. if < 0, permute the length
- by adding or subtracting a random # up to the
- variance)
- outbound.* (same as the inbound, except for the, uh, outbound tunnels
- in that client's pool)
- There are other options, and more will be added later, but the above are
- the most relevent ones.
- * Replaced Jetty 4.2.21 with Jetty 5.1.2
- * Compress all profile data on disk.
- * Adjust the reseeding functionality to work even when the JVM's http proxy
- is set.
- * Enable a poor-man's interactive-flow in the streaming lib by choking the
- max window size.
- * Reduced the default streaming lib max message size to 16KB (though still
- configurable by the user), also doubling the default maximum window
- size.
- * Replaced the RouterIdentity in a Lease with its SHA256 hash.
- * Reduced the overall I2NP message checksum from a full 32 byte SHA256 to
- the first byte of the SHA256.
- * Added a new "netId" flag to let routers drop references to other routers
- who we won't be able to talk to.
- * Extended the timestamper to get a second (or third) opinion whenever it
- wants to actually adjust the clock offset.
- * Replaced that kludge of a timestamp I2NP message with a full blown
- DateMessage.
- * Substantial memory optimizations within the router and the SDK to reduce
- GC churn. Client apps and the streaming libs have not been tuned,
- however.
- * More bugfixes than you can shake a stick at.
-
- 2005-02-13 jrandom
- * Updated jbigi source to handle 64bit CPUs. The bundled jbigi.jar still
- only contains 32bit versions, so build your own, placing libjbigi.so in
- your install dir if necessary. (thanks mule!)
- * Added support for libjbigi-$os-athlon64 to NativeBigInteger and CPUID
- (thanks spaetz!)
-
- 2005-02-10 smeghead
- * Initial check-in of Pants, a new utility to help us manage our 3rd-party
- dependencies (Fortuna, Jetty, Java Service Wrapper, etc.). Some parts of
- Pants are still non-functional at this time so don't mess with it yet
- unless you want to potentially mangle your working copy of CVS.
-
- 2005-02-09 duck
- * Allow an unneeded newline in the SAM client connection without
- disconnecting.
-
- 2005-02-07 jrandom
- * Fixed a race in the streaming lib's delayed flush algorithm (thanks anon!)
-
- 2005-02-06 Sugadude
- * Added a filter to the addressbook to remove entries that dont end in ".i2p"
-
- 2005-02-03 smeghead
- * Added Ant buildfile in apps/fortuna for creating a custom Fortuna PRNG jar
- library from GNU Crypto's CVS HEAD sources.
-
- 2005-01-26 smeghead
- * i2pProxy.pac, i2pbench.sh, and i2ptest.sh are now shipped with the dist
- packages and installed to $i2pinstalldir/scripts.
- * Added command line params to i2ptest.sh and i2pbench.sh: --gij to run them
- using gij + libgcj, and --sourcedir to run them from the source tree
- instead of the installation directory.
- * Fixed unreachable for() statement clause in the KBucketImpl class that was
- causing gcj to toss a compilation warning (jrandom++).
-
- 2005-01-26 smeghead
- * Added a couple of scripts, i2ptest.sh and i2pbench.sh, to manage the core
- tests and benchmarks.
- * Routerconsole now builds under gcj 3.4.3.
- * Corrected divide by zero error in TunnelId class under gcj (jrandom++).
-
- 2005-01-25 smeghead
- * Tweaked some classes to enable gcj 3.4.3 to compile the router and
- supporting apps (except for the routerconsole which is still being
- investigated).
-
- 2005-01-24 smeghead
- * C#-ification of sam-sharp: interface greatly simplified using delegates
- and events; SamBaseEventHandler provides basic implementation and helper
- methods but is now optional.
- * NAnt buildfile and README added for sam-sharp.
-
- 2005-01-23 smeghead
- * Port the java SAM client library to mono/C# and released into the
- public domain. The 0.1 version of this port is available in CVS as
- i2p/apps/sam/csharp/src/I2P.SAM.Client. The other nonfunctional C#
- library has been removed.
-
- 2005-01-21 Jhor
- * Updated jbigi build scripts for OSX.
-
- 2005-01-21 jrandom
- * Added support for OSX to the NativeBigInteger code so that it will look
- in the classpath for libjbigi-osx-none.jnilib. At the moment, that file
- is not bundled with the shipped jbigi.jar yet though.
-
- 2005-01-18 jrandom
- * Increased the max # session tags maintained and decreased slightly the
- period over which they are gathered.
-
- 2005-01-17 jrandom
- * Added meaningful support for adjusting the preferred message size in the
- streaming lib by setting the i2p.streaming.maxMessageSize=32768 (or
- whatever). The other side will mimic a reduction (but never an increase).
- * Always make sure to use distinct ConnectionOption objects for each
- connection (duh)
- * Reduced the default ACK delay to 500ms on in the streaming lib
- * Only shrink the streaming window once per window
- * Don't bundle a new jetty.xml with updates
- * Catch another local routerInfo corruption issue on startup.
-
- 2005-01-15 cervantes
- * Added support to the eepproxy for URLs such as
- http://localhost:4444/eepproxy/foo.i2p/bar/baz or even
- http://localhost:4444/eepproxy/foo.i2p/?i2paddresshelper=base64
-
- 2005-01-15 jrandom
- * Caught a series of (previously unhandled) errors caused by requeueing
- messages that had timed out on the TCP transport (thanks mae^!)
- * Reduce the barrier to dropping session tags on streaming lib resends -
- every fourth send should drop the tags, forcing ElGamal encryption. This
- will help speed up the recovery after a disconnect, rather than the drop
- every fifth send.
-
- * 2005-01-06 0.4.2.6 released
-
- 2005-01-06 jrandom
- * Added a startup message to the addressbook, printing its version number
- to stdout (which is sent to wrapper.config) when it loads.
- * Updated the addressbook to reread the config file periodically
- * Added orion.i2p to the list of eepsites on the default homepage
-
- 2005-01-05 jrandom
- * Handle unexpected network read errors more carefully (thanks parg!)
- * Added more methods to partially compare (DataHelper) and display
- arrays (Base64.encode).
- * Exposed the AES encryptBlock/decryptBlock on the context.aes()
- * Be more generous on the throttle when just starting up the router
- * Fix a missing scheduled event in the streaming lib (caused after reset)
- * Add a new DisconnectListener on the I2PSocketManager to allow
- notification of session destruction.
- * Make sure our own router identity is valid, and if it isn't, build a new
- one and restart the router. Alternately, you can run the Router with
- the single command line argument "rebuild" and it will do the same.
-
- 2004-12-31 ragnarok
- * Integrated latest addressbook changes (2.0.3) which include support for
- deploying as a .war file with no existing addressbook configuration.
- * Updated main build process to bundle the addressbook.war in the
- i2pinstall.jar and i2pupdate.zip.
-
- 2004-12-31 jrandom
- * Speling fxi (thanks digum!)
- * Bugfix for the I2PTunnel web interface so that it now properly launches
- newly added tunnels that are defined to be run on startup (thanks ugha!)
-
- 2004-12-30 jrandom
- * Revised the I2PTunnel client and httpclient connection establishment
- throttles. There is now a pool of threads that build the I2PSocket
- connections with a default size of 5, configurable via the I2PTunnel
- client option 'i2ptunnel.numConnectionBuilders' (if set to 0, it will
- not throttle the number of concurrent builders, but will launch a thread
- per socket during establishment). In addition, sockets accepted but
- not yet allocated to one of the connection builders will be destroyed
- after 30 seconds, configurable via 'i2ptunnel.maxWaitTime' (if set to
- 0, it will wait indefinitely).
-
- 2004-12-29 jrandom
- * Imported Ragnarok's addressbook source (2.0.2) which is built but not
- deployed in the i2pinstall.jar/i2pupdate.zip (yet).
- * Don't treat connection inactivity closure as a connection error.
-
- 2004-12-29 jrandom
- * Add in a new keepalive event on each TCP connection, proactively sending
- a (tiny) time message every minute or two, as well as killing the
- connection if no message has been fully sent within 5 minutes or so.
- This should help deal with hung connections from IP address changes.
-
- 2004-12-28 jrandom
- * Cleaned up the resending and choking algorithm in the streaming lib.
- * Removed the read timeout override for I2PTunnel's httpclient, allowing
- it to use the default for the streaming lib.
- * Revised ack triggers in the streaming lib.
- * Logging.
-
- * 2004-12-21 0.4.2.5 released
-
- 2004-12-21 jrandom
- * Track a new stat for expired client leases (client.leaseSetExpired).
-
- 2004-12-21 jrandom
- * Cleaned up the postinstall/startup scripts a bit more to handle winME,
- and added windows info to the headless docs. (thanks ardvark!)
- * Fixed a harmless (yet NPE inspiring) race during the final shutdown of
- a stream (thanks frosk!)
- * Add a pair of new stats for monitoring tunnel participation -
- tunnel.participatingBytesProcessed (total # bytes transferred) and
- tunnel.participatingBytesProcessedActive (total # bytes transferred for
- tunnels whose byte count exceed the 10m average). This should help
- further monitor congestion issues.
- * Made the NamingService factory property public (thanks susi!)
-
- 2004-12-20 jrandom
- * No longer do a blocking DNS lookup within the jobqueue (thanks mule!)
- * Set a 60s dns cache TTL, instead of 0s. Most users who used to use
- dyndns/etc now just use IP autodetection, so the old "we need ttl=0"
- reasoning is gone.
-
- 2004-12-19 jrandom
- * Fix for a race on startup wrt the new stats (thanks susi!)
-
- 2004-12-19 jrandom
- * Added three new stats - router.activePeers, router.fastPeers, and
- router.highCapacityPeers, updated every minute
-
- 2004-12-19 jrandom
- * Added a new i2ptunnel type: 'httpserver', allowing you to specify what
- hostname should be sent to the webserver. By default, new installs will
- have an httpserver pointing at their jetty instance with the spoofed
- name 'mysite.i2p' (editable on the /i2ptunnel/edit.jsp page).
-
- 2004-12-19 scintilla
- * Convert native jcpuid code from C++ to C. This should alleviate build
- problems experienced by some users.
-
- * 2004-12-18 0.4.2.4 released
-
- 2004-12-16 jrandom
- * Catch another oddball case for a reset connection in the streaming lib.
- * Add a dumpprofile.jsp page, called with ?peer=base64OfPeerHash, which
- dumps the current state of that peer's profile. Instead of the full
- base64, you can pass in however many characters you have and it will
- return the first match found.
-
- 2004-12-16 jrandom
- * Remove the randomized factor in the tunnel rejection by bandwidth -
- we now accept the request if we've allocated less than our limit
- and reject it if we've allocated more.
- * Stick to the standard capacity scale on tunnel rejection, even for
- the 10m period.
- * Build the time message at the very last possible moment
-
- 2004-12-15 jrandom
- * Handle hard disconnects more gracefully within the streaming lib, and
- log unmonitored events more aggressively.
- * If we drop a peer after connection due to clock skew, log it to the
- /logs.jsp#connectionlogs with relevent info. In addition, toss it in
- the stat 'tcp.disconnectAfterSkew'.
- * Fixed the formatting in the skew display
- * Added an ERROR message that is fired once after we run out of
- routerInfo files (thanks susi!)
- * Set the connect timeout equal to the streaming lib's disconnect timeout
- if not already specified (the I2PTunnel httpclient already enforces a
- 60s connect timeout)
- * Fix for another connection startup problem in the streaming lib.
- * Fix for a stupid error in the probabalistic drop (rand <= P, not > P)
- * Adjust the capacity calculations so that tunnel failures alone in the
- last 10m will not trigger a 0 capacity rank.
-
- 2004-12-14 jrandom
- * Periodically send a message along all I2NP connections with the router's
- current time, allowing the receiving peer to determine that the clock
- has skewed too much, and hence, disconnect. For backwards compatability
- reasons, this is being kludged into a DeliveryStatusMessage (ewww). The
- next time we have a backwards compatability break, we can put in a proper
- message setup for it.
-
- 2004-12-14 jrandom
- * Reenable the probabalistic drop on the TCP queues to deal with good old
- fashioned bandwidth limiting. However, by default the probability is
- rigged to reserve 0% of the queue free - meaning we just aggressively
- fail messages in the queue if we're transferring too slowly. That
- reservation factor can be increased with 'tcp.queueFreeFactor=0.25'
- (or whatever) and the drop code can be disabled with the parameter
- 'tcp.dropProbabalistically=false'.
- * Still penalize a peer on tunnel failure, but don't immediately drop
- their capacity to 0.
- * More aggressively ACK duplicates
- * Randomize the timestamper period
- * Display the clock skew on the connection logs when a peer sends it.
- * Allow the timestamper to fix skews of up to 10 minutes
- * Logging
-
- 2004-12-13 jrandom
- * Added some error checking on the new client send job (thanks duck!)
- * Implemented tunnel rejection based on bandwidth usage (rejecting tunnels
- proportional to the bytes allocated in existing tunnels vs the bytes
- allowed through the bandwidth limiter).
- * Enable a new configuration parameter for triggering a tunnel rebuild
- (tunnel.maxTunnelFailures), where that is the max allowed test failures
- before killing the tunnel (default 0).
- * Gather more data that we rank capacity by (now we monitor and balance the
- data from 10m/30m/60m/1d instead of just 10m/60m/1d).
- * Fix a truncation/type conversion problem on the long term capacity
- values (we were ignoring the daily stats outright)
-
- 2004-12-11 jrandom
- * Fix the missing HTTP timeout, which was caused by the deferred syn used
- by default. This, in turn, meant the I2PSocket creation doesn't fail
- on .connect, but is unable to transfer any data in any direction. We now
- detect that condition for the I2PTunnelHTTPClient and throw up the right
- error page.
- * Logging
-
- 2004-12-11 jrandom
- * Use a simpler and less memory intensive job for processing outbound
- client messages when the session is in mode=bestEffort. We can
- immediately discard the data as soon as its sent the first time,
- rather than wait for an ack, since we will never internally resend.
- * Reduce some synchronization to avoid a rare deadlock
- * Replaced 'localhost' with 127.0.0.1 in the i2ptunnel config, and special
- case it within the tunnel controller.
- * Script cleanup for building jbigi/jcpuid
- * Logging
-
- * 2004-12-08 0.4.2.3 released
-
- 2004-12-08 jrandom
- * Revised the buffering when reading from the SAM client and writing
- to the stream. Also added a thread (sigh) so we don't block the
- SAM client from giving us more messages for abnormally long periods
- of time.
- * Display the router version in the logs on startup (oft requested)
- * Fix a race during the closing of a messageOutputStream
-
- 2004-12-06 jrandom
- * Don't do a 'passive flush' while there are already outbound messages
- unacked.
- * Show the reseed link if up to 10 peers profiles are active (thanks
- dburton!)
-
- 2004-12-06 jrandom
- * Don't propogate streaming connection failures out to the SAM bridge as
- fatal errors.
- * Dont barf on repeated I2CP closure.
-
- 2004-12-05 jrandom
- * Explicitly use "127.0.0.1" to bind the I2CP listener, not the JVM's
- getLocalhost call
-
- 2004-12-05 jrandom
- * Default the I2CP listener to localhost only, unless overridden by
- i2cp.tcp.bindAllInterfaces=true (thanks dm!)
- * More SAM fixes for things recently broken (whee)
-
- 2004-12-05 jrandom
- * Fix the recently broken SAM bridge (duh)
- * Add a new pair of SAM apps - net.i2p.sam.client.SAMStreamSink and
- net.i2p.sam.client.SAMStreamSend, mirroring the streaming lib's
- StreamSink and StreamSend apps for transferring files.
- * Make the passive flush timer fire more frequently.
-
- 2004-12-05 jrandom
- * Fixed some links in the console (thanks ugha!) and the javadoc
- (thanks dinoman!)
- * Fix the stream's passive flush timer (oh, its supposed to work?)
-
- 2004-12-03 jrandom
- * Toss in a small pool of threads (3) to execute the events queued up with
- the SimpleTimer, as we do currently see the occational event
- notification spiking up to a second or so.
- * Implement a SAM client API in java, useful for event based streaming (or
- for testing the SAM bridge)
- * Added support to shut down the SAM bridge on OOM (useful if the SAM
- bridge is being run outside of the router).
- * Include the SAM test code in the sam.jar
- * Remove an irrelevent warning message from SAM, which was caused by
- perfectly normal operation due to a session being closed.
- * Removed some unnecessary synchronization in the streaming lib's
- PacketQueue
- * More quickly clean up the memory used by the streaming lib by
- immediately killing each packet's resend job as soon as it is ACKed (or
- cancelled), so that there are no longer any valid pointers to the
- (potentially 32KB) packet.
- * Fixed the timestamps dumped to stdout when debugging the PacketHandler.
- * Drop packets that would expand our inbound window beyond our maximum
- buffer size (default 32 messages)
- * Always read the ACK/NACK data from the verified packets received, even
- if we are going to drop them
- * Always adjust the window when there are messages ACKed, though do not
- change its size except as before.
- * Streamlined some synchronization in the router's I2CP handling
- * Streamlined some memory allocation in the SAM bridge
- * Default the streaming lib to disconnect on inactivity, rather than send
- an empty message.
-
- 2004-12-01 jrandom
- * Fix for a race in the streaming lib as caused by some odd SAM activity
-
- * 2004-12-01 0.4.2.2 released
-
- 2004-12-01 jrandom
- * Fixed a stupid typo that inadvertantly allowed persistent HTTP
- connections to work (thanks duck!)
- * Make sure we override the inactivity timeout too
-
- * 2004-12-01 0.4.2.1 released
-
- 2004-12-01 jrandom
- * Strip out any of the Accept-* HTTP header lines, and always make sure to
- include the forged User-agent header.
- * Adjust the default read timeout on the eepproxy to 60s, unless
- overridden.
- * Minor tweak on stream shutdown.
-
- 2004-11-30 jrandom
- * Render the burst rate fields on /config.jsp properly (thanks ugha!)
- * Build in a simple timeout to flush data queued into the I2PSocket but
- not yet flushed.
- * Don't explicitly flush after each SAM stream write, but leave it up to
- the [nonblocking] passive flush.
- * Don't whine about 10-99 connection events occurring in a second
- * Don't wait for completion of packets that will not be ACKed (duh)
- * Adjust the congestion window, even if the packet was resent (duh)
- * Make sure to wake up any blocking read()'s when the MessageInputStream
- is close()ed (duh)
- * Never wait more than the disconnect timeout for a write to complete
-
- 2004-11-29 jrandom
- * Minor fixes to avoid unnecessary errors on shutdown (thanks susi!)
-
- 2004-11-29 jrandom
- * Reduced contention for local client delivery
- * Drop the new code that munges the wrapper.config. Instead, updates that
- need to change it will include their own wrapper.config in the
- i2pupdate.zip, overwriting the existing file. If the file
- "wrapper.config.updated" is included, it is deleted at first opportunity
- and the router shut down, displaying a notice that the router must be
- started again cleanly to allow the changes to the wrapper.config to take
- effect.
- * Properly stop accept()ing I2PSocket connections if we close down the
- session (duh).
- * Make sure we cancel any outstanding Packets in flight when a connection
- is terminated (thanks susi!)
- * Split up the I2PTunnel closing a little further.
-
- 2004-11-28 jrandom
- * Accept IP address detection changes with a 2-out-of-3 minimum.
- * As long as the router is up, keep retrying to bind the I2CP listener.
- * Decrease the java service wrapper ping frequency to once every 10
- minutes, rather than once every 5 seconds.
-
- 2004-11-27 jrandom
- * Some cleanup and bugfixes for the IP address detection code where we
- only consider connections that have actually sent and received messages
- recently as active, rather than the mere presence of a TCP socket as
- activity.
-
- 2004-11-27 jrandom
- * Removed the I2PTunnel inactivity timeout thread, since the new streaming
- lib can do that (without an additional per-connection thread).
- * Close the I2PTunnel forwarder threads more aggressively
-
- 2004-11-27 jrandom
- * Fix for a fast loop caused by a race in the new streaming library (thanks
- DrWoo, frontier, pwk_, and thetower!)
- * Minor updates to the SimpleTimer and Connection to help track down a
- high CPU usage problem (dumping debug info to stdout/wrapper.log if too
- many events/tasks fire in a second)
- * Minor fixes for races on client disconnects (causing NPEs)
-
- * 2004-11-26 0.4.2 released
-
- 2004-11-26 jrandom
- * Enable the new streaming lib as the default. That means, for any
- substantial definition, it is NOT BACKWARDS COMPATIBLE.
-
- 2004-11-25 jrandom
- * Revised the installer to include start menu and desktop shortcuts for
- windows platforms, including pretty icons (thanks DrWoo!)
- * Allow clients specified in clients.config to have an explicit startup
- delay.
- * Update the default install to launch a browser pointing at the console
- whenever I2P starts up, rather than only the first time it starts up
- (configurable on /configservice.jsp, or in clients.config)
- * Bugfix to the clock skew checking code to monitor the delta between
- offsets, not the offset itself (duh)
- * Router console html update
- * New (and uuuuugly) code to verify that the wrapper.config contains
- the necessary classpath entries on update. If it has to update the
- wrapper.config, it will stop the JVM and service completely, since the
- java service wrapper doesn't reread the wrapper.config on JVM restart -
- requiring the user to manually restart the service after an update.
- * Increase the TCP connection timeout to 30s (which is obscenely long)
-
- 2004-11-22 jrandom
- * Update to the SAM bridge to reduce some unnecessary memory allocation.
- * New stat to keep track of slow jobs (ones that take more than a second
- to excute). This is published in the netDb as jobQueue.jobRunSlow
-
- 2004-11-21 jrandom
- * Update the I2PTunnel web interface to include an option for the new
- streaming lib (which is ignored until the 0.4.2 release).
- * Revised the I2PTunnel web interface to keep the I2CP options of client
- and httpclient tunnels in sync, as they all share the same I2CP session.
-
- 2004-11-21 jrandom
- * Only allow small clock skews after the first 10 minutes of operation
- (to prevent later network lag bouncing us way off course - yes, we
- really need an NTP impl to balance out the network burps...)
- * Revamp the I2PTunnel web interface startup process so that everything
- is shown immediately, so that different pieces hanging don't hang
- the rest, and other minor bugfixes.
- * Take note of SAM startup error (in case you're already running a SAM
- bridge...)
- * Increase the bandwidth limiter burst values available to 10-60s (or
- whatever is placed in /configadvanced.jsp, of course)
-
- 2004-11-21 jrandom
- * Allow end of line comments in the hosts.txt and other config files,
- using '#' to begin the comments (thanks susi!)
- * Add support to I2PTunnel's 'client' feature for picking between multiple
- target destinations (e.g. 'client 6668 irc.duck.i2p,irc.baffled.i2p')
- * Add a quick link on the left hand nav to reseed if there aren't enough
- known peers, as well as link to the config page if there are no active
- peers. Revised config page accordingly.
-
- 2004-11-21 jrandom
- * Destroy ElGamal/AES+SessionTag keys after 15 minutes of inactivity
- rather that every 15 minutes, and increase the warning period in which
- we refresh tags from 30s to 2 minutes.
- * Bugfix for a rare problem closing an I2PTunnel stream where we'd fail
- to close the I2PSocket (leaving it to timeout).
-
- 2004-11-19 jrandom
- * Off-by-one fix to the tunnel pool management code, along side some
- explicit initialization. This can affect clients whose lengths are
- shorter than the router's default (thanks duck!)
-
- 2004-11-17 jrandom
- * Fix to propogate i2psocket options into the SAM bridge correctly (thanks
- Ragnarok!)
-
- 2004-11-17 jrandom
- * Minor logging update.
-
- 2004-11-16 jrandom
- * Clean up the propogation of i2psocket options so that various streaming
- libs can honor them more precisely
-
- 2004-11-16 jrandom
- * Minor logging update
-
- 2004-11-14 jrandom
- * Fix a long standing leak in I2PTunnel (hanging on to i2psocket objects)
- * Fix a leak injected into the SimpleTimer
- * Fix a race condition in the tunnel message handling
-
- 2004-11-13 jrandom
- * Added throttles on how many I2PTunnel client connections we open at once
- * Replaced some buffered streams in I2PTunnel with unbuffered streams, as
- the streaming library used should take care of any buffering.
- * Added a cache for some objects used in I2PTunnel, especially useful when
- there are many short lived connections.
- * Trimmed the SimpleTimer's processing a bit
-
- 2004-11-10 jrandom
- * Allow loading the (mini)streaming connection options from the
- environment.
- * More defensive programming in the DSA implementation.
-
- 2004-11-08 jrandom
- * Remove spurious flush calls from I2PTunnel, and work with the
- I2PSocket's output stream directly (as the various implementations
- do their own buffering).
- * Another pass at a long standing JobQueue bug - dramatically simplify
- the job management synchronization since we dont need to deal with
- high contention (unlike last year when we had dozens of queue runners
- going at once).
- * Logging
-
- 2004-11-08 jrandom
- * Make the SAM bridge more resiliant to bad handshakes (thanks duck!)
-
- * 2004-11-06 0.4.1.4 released
-
- 2004-11-06 jrandom
- * Expose a drop down on the /configclients.jsp to enter the outbound
- tunnel depth.
- * Improved *hosts.txt loading
- * Explicitly override the JVM's timezone settings to use GMT so that
- any client applications which use timezones won't leak sensitive
- data (thanks gott!)
- * Bundle sam.jar in the update (thanks duck!)
-
- 2004-11-06 jrandom
- * Fix for a long standing synchronization bug in the SDK that in rare
- instances can add a few seconds of lag.
-
- 2004-11-05 jrandom
- * Bugfixes and unit tests for the SAM bridge to handle quoted message
- parameters, verify proper operation after multiple session lifetimes,
- as well as some synchronization problems.
- * New properties method on the DataHelper class.
- * Address a race on fast disconnecting clients
-
- 2004-11-02 jrandom
- * Fix for a long standing synchronization bug in the JobQueue (and added
- some kooky flags to make sure it stays dead)
- * Update the ministreaming lib to force mode=guaranteed if the default
- lib is used, and mode=best_effort for all other libs.
-
- 2004-11-02 jrandom
- * Fixed up the configuration overrides for the streaming socket lib
- integration so that it properly honors env settings.
- * More memory usage streamlining (last major revamp for now, i promise)
-
- 2004-11-01 jrandom
- * Increase the tunnel test timeout rapidly if our tunnels are failing.
- * Honor message expirations for some tunnel jobs that were prematurely
- expired.
- * Streamline memory usage with temporary object caches and more efficient
- serialization for SHA256 calculation, logging, and both I2CP and I2NP
- message handling.
- * Fix some situations where we forward messages too eagerly. For a
- request at the tunnel endpoint, if the tunnel is inbound and the target
- is remote, honor the message by tunnel routing the data rather than
- sending it directly to the requested location.
-
- 2004-10-30 jrandom
- * Cache the temporary objects used in the AES encryption/decryption
- process so that AES doesn't require any memory allocation to process
- data.
- * Dramatically reduce memory usage within various crypto implementations
- by avoiding unnecessary (though simplifying) buffers.
- * If we specify some tags to be sent in an I2CP message explicitly, use
- only those, not those plus a new set (otherwise we aren't sure on ACK
- which set was delivered)
- * Allow configuration for the partial send timeout (how long before
- resending a message down a different tunnel in a lease). This can be
- updated with the "router.clientPartialSendTimeout" router config prop.
- * Logging
-
- 2004-10-29 jrandom
- * Strip the Referer, Via, and From headers completely, rather than
- inserting a bogus value ("i2p"). This should help with the use of
- SnipSnap and Geeklog (thanks nickster and DrWoo!)
-
- 2004-10-27 jrandom
- * Fix a strange race condition on i2cp client disconnect.
- * win98 startup fixes (thanks tester-1 and ardvark!)
- * include build scripts for the new streaming lib (which is NOT ready
- for use yet, but you can hack around with it)
-
- 2004-10-24 jrandom
- * Allow explicit inclusion of session tags in the SDK, enabling the
- resending of tags bundled with messages that would not otherwise
- be ACKed.
- * Don't force mode=guaranteed for end to end delivery - if mode=bestEffort
- no DeliveryStatusMessage will be bundled (and as such, client apps using
- it will need to do their own session tag ack/nack).
- * Handle client errors when notifying them of message availability.
- * New StreamSinkSend which sends a file to a destination and disconnects.
- * Update the I2PSocketManagerFactory to build the specific
- I2PSocketManager instance based on the "i2p.streaming.manager" property,
- containing the class name of the I2PSocketManager to instantiate.
-
- 2004-10-23 jrandom
- * Minor ministreaming lib refactoring to simplify integration of the full
- streaming lib.
- * Minor bugfixes to data structure serialization.
-
- * 2004-10-18 0.4.1.3 released
-
- 2004-10-18 jrandom
- * Allow sending messages with a section of a byte array.
- * Reduced stats published.
-
- 2004-10-17 jrandom
- * Don't b0rk on whitespace in the router address.
-
- 2004-10-16 jrandom
- * More aggressively reduce the capacity of peers if their tunnels are
- failing so that we move off them quicker.
- * Simplify some data structure serialization for reuse in the streaming
- lib, as well as add support for signing and verifying partial byte
- arrays.
- * Logging updates
-
- 2004-10-16 jrandom
- * Increased the default minimum tunnel test time to 5 seconds, since we
- still see the occational message processing time spike to 2 seconds.
- * Update the SimpleTimer to allow rescheduling a task thats already
- queued (useful for the new streaming lib).
-
- 2004-10-15 jrandom
- * Replaced old minimum tunnel test timeout of 1s with a configurable
- value (router.config property "router.tunnelTestMinimum", with the
- default of 2s).
-
- 2004-10-14 jrandom
- * Tunnel rejection is no longer a sign of an overwhelmingly loaded
- peer, so don't use it as a key point of the IsFailing calculator.
- We still use it as a key point of the Capacity calculator, however.
-
- 2004-10-14 jrandom
- * Allow for a configurable tunnel "growth factor", rather than trying
- to achieve a steady state. This will let us grow gradually when
- the router is needed more, rather than blindly accepting the request
- or arbitrarily choking it at an averaged value. Configure this with
- "router.tunnelGrowthFactor" in the router.config (default "1.5").
- * Adjust the tunnel test timeouts dynamically - rather than the old
- flat 30s (!!!) timeout, we set the timeout to 2x the average tunnel
- test time (the deviation factor can be adjusted by setting
- "router.tunnelTestDeviation" to "3.0" or whatever). This should help
- find the 'good' tunnels.
- * Added some crazy debugging to try and track down an intermittent hang.
-
- 2004-10-13 jrandom
- * Fix the probabalistic tunnel reject (we always accepted everything,
- since the docs on java.util.Random.nextDouble() are wrong..)
- * Fixed a race on startup (thanks Quadn!)
-
- 2004-10-12 jrandom
- * Disable the probabalistic drop by default (enable via the router config
- property "tcp.dropProbabalistically=true")
- * Disable the actual watchdog shutdown by default, but keep track of more
- variables and log a lot more when it occurs (enable via the router
- config property "watchdog.haltOnHang=true")
- * Implement some tunnel participation smoothing by refusing requests
- probabalistically as our participating tunnel count exceeds the previous
- hour's, or when the 10 minute average tunnel test time exceeds the 60
- minute average tunnel test time. The probabilities in both cases are
- oldAverage / #current, so if you're suddenly flooded with 200 tunnels
- and you had previously only participated in 50, you'll have a 25% chance
- of accepting a subsequent request.
-
- * 2004-10-10 0.4.1.2 released
-
- 2004-10-10 cervantes
- * Update the I2PTunnel HTTP proxy to strip out the i2paddresshelper from
- the request.
-
- 2004-10-09 jrandom
- * Added a watchdog timer to do some baseline liveliness checking to help
- debug some odd errors.
- * Added a pair of summary stats for bandwidth usage, allowing easy export
- with the other stats ("bw.sendBps" and "bw.receiveBps")
- * Trimmed another memory allocation on message reception.
-
- 2004-10-08 jrandom
- * Revamp the AESInputStream so it doesn't allocate any temporary objects
- during its operation.
-
- 2004-10-08 jrandom
- * Don't kill the establisher threads during a soft restart.
- * Attempt to validate the peer's routerInfo earlier during handshaking.
- * Revamp the AESOutputStream so it doesn't allocate any temporary objects
- during its operation.
-
- 2004-10-07 jrandom
- * Reimplement the I2NP reading with less temporary memory allocation.
- There is still significant GC churn, especially under load, but this
- should help.
- * Catch some oddball errors in the transport (message timeout while
- establishing).
-
- 2004-10-07 jrandom
- * Expire queued messages even when the writer is blocked.
- * Reimplement most of the I2NP writing with less temporary memory
- allocations (I2NP reading still gobbles memory).
-
- 2004-10-06 jrandom
- * Implement an active queue management scheme on the TCP transports,
- dropping messages probabalistically as the queue fills up. The
- estimated queue capacity is determined by the rate at which messages
- have been sent to the peer (averaged at 1, 5, and 60m periods). As
- we exceed 1/2 of the estimated capacity, we drop messages throughout
- the queue probabalistically with regards to their size. This is based
- on RFC 2309's RED, with the minimum threshold set to 1/2 the
- estimated connection capacity. We may want to consider using a send
- rate and queue size measured across all connections, to deal with our
- own local bandwidth saturation, but we'll try the per-con metrics first.
-
- 2004-10-06 jrandom
- * Enable explicit disabling of the systray entirely for windows machines
- with strange configurations: add -Dsystray.disable=true to the java
- command line. (thanks mihi!)
-
- 2004-10-05 jrandom
- * Allow peers on the same LAN to communicate with each other safely even
- when they cannot talk to each other through the external address.
-
- 2004-10-05 jrandom
- * Display how much time is left before the graceful shutdown is complete.
- * Debug some improperly failed messages on timeout or disconnection.
-
- 2004-10-05 jrandom
- * Don't go into a fast busy if an I2PTunnel 'server' is explicitly killed
- (thanks mule!)
- * Handle some more error conditions regarding abruptly closing sockets
- (thanks Jonva!)
-
- 2004-10-04 jrandom
- * Update the shitlist to reject a peer for an exponentially increasing
- period of time (with an upper bounds of an hour).
- * Various minor stat and debugging fixes
-
- 2004-10-03 jrandom
- * Add a new stat logging component to optionally dump the raw stats to
- disk as they are generated, rather than rely upon the summarized data.
- By default, this is off, but the router property "stat.logFilters" can
- be set to a comma delimited list of stats (e.g. "client.sendAckTime")
- which will be written to the file "stats.log" (or whatever the property
- "stat.logFile" is set to). This can also log profile related stats,
- such as "dbResponseTime" or "tunnelTestResponseTime".
-
- 2004-10-02 jrandom
- * Assure that we quickly fail messages bound for shitlisted peers.
- * Address a race on startup where the first peer contacted could hang the
- router (thanks Romster!)
- * Only whine about an intermittent inability to query the time server once
-
- 2004-10-02 jrandom
- * Command line utility to verify a peer's reachability - simply run
- net.i2p.router.transport.tcp.ConnectionHandler hostname port# and it
- will print out whether that peer is reachable or not (using a simple
- verification handshake).
-
- * 2004-10-01 0.4.1.1 released
-
- 2004-10-01 jrandom
- * Handle partial reseeds, caused by seeds going away before the download
- completes (thanks Sugadude!)
-
- 2004-10-01 jrandom
- * Explicitly refuse IPv6 addresses, since only some peers support
- them and we want fully reachable peers.
-
- 2004-10-01 jrandom
- * Additional error handling for a variety of transport layer errors.
-
- * 2004-09-30 0.4.1 released (not backwards compatible)
-
- 2004-09-30 jrandom
- * Bundle the configuration necessary to run an eepsite out of the box
- with Jetty - simply edit ./eepsite/docroot/index.html and give people
- the key listed on the I2PTunnel configuration page, and its up.
- * Router console cleanup, and some (off by default) tunnels -
- smtp.postman.i2p (port 7659), pop.postman.i2p (port 7660), and
- irc.baffled.i2p (port 7661)
-
- 2004-09-29 jrandom
- * Always wipe the Jetty work directory on startup, so that web updates
- are reflected immediately (Jetty does not honor the cache across
- multiple executions)
-
- 2004-09-27 jrandom
- * Limit the number of connection tags saved to 10,000. This is a huge
- limit, but consumes no more than 1MB of RAM. For now, we drop them
- randomly after reaching that size, forcing those dropped peers to use
- a full DH negotiation.
- * HTML cleanup in the console.
-
- 2004-09-26 jrandom
- * Complete rewrite of the TCP transport with IP autodetection and
- low CPU overhead reconnections. More concise connectivity errors
- are listed on the /oldconsole.jsp as well. The IP autodetection works
- by listening to the first person who tells you what your IP address is
- when you have not defined one yourself and you have no other TCP
- connections.
- * Update to the I2NP message format to add transparent verification at
- the I2NP level (beyond standard TCP verification).
- * Remove a potential weakness in our AESEngine's safeEncrypt and safeDecrypt
- implementation (rather than verifying with E(H(key)), we now verify with
- E(H(iv))).
- * The above changes are NOT BACKWARDS COMPATIBLE.
- * Removed all of the old unused PHTTP code.
- * Refactor various methods and clean up some javadoc.
-
- 2004-09-21 jrandom
- * Have two tiers of hosts.txt files - the standard "hosts.txt" and
- the new "userhosts.txt". Updates to I2P will only overwrite the former,
- but values stored in the later take precedence. Both are queried on
- lookup.
-
- 2004-09-16 jrandom
- * Refactor the TCP transport to deal with changing identities gracefully,
- and to prevent some wasted effort by keeping track of what host+port
- combinations we are connected to (rather than just the identities). Also
- catch a few configuration errors earlier.
- * Removed no longer relevent methods from the Transport API that were
- exposing ideas that probably shouldn't be exposed.
- * Removed the 0.4.0.1 specific files from i2pupdate.zip (relating to script
- updates)
-
- 2004-09-13 jrandom
- * Update for the SDK reconnection to deal with overflow.
- * Web improvements (@ not # on the /logs.jsp [thanks ugha!] and fixed the
- rounding on lifetime bandwidth used [thanks gott!]).
-
- * 2004-09-08 0.4.0.1 released
-
- 2004-09-08 jrandom
- * Updated the "Active:" peer count to display the # of connections as well
- as the number of recently active router identities.
- * Implement some basic updating code - on startup, if there is a file named
- "i2pupdate.zip" in the I2P installation directory, extract it, delete it,
- then restart.
- * Added an ugly little script to allow launching the router on win9x
- machines without a dos box (using javaw to run a .bat file).
- * Logging updates.
- * Updated VERSION constants to 0.4.0.1
-
- 2004-09-08 hypercubus
- * Bugfix: Running the installer as a non-privileged user on Red Hat (and
- hopefully any other affected *nix systems) now properly discards non-
- essential directories after installation.
- * Support for Win9x in the installer and postinstall.bat.
- * Changed the name of the default installation directory on all platforms
- from "I2P" to "i2p" in the installer.
- * Changed "wrapper.conf" to "wrapper.config" for naming consistency with the
- other configuration files.
-
- 2004-09-07 cervantes:
- * Proxy recursion disabled by default (strict)
- * Password Authentication for session commands
- * Support for http://path?i2paddresshelper=BASE64
- * Support for http://i2p/BASE64/path syntax
-
- 2004-09-07 jrandom
- * Make sure that peers placed in the 'fast' group are ones we both know
- how to reach and have been able to reach recently. These peers may
- still be placed in the 'high capacity' group however (though that group
- is only queried if the 'fast' group is too small)
- * Include some updates to the ProgileOrganizer's CLI.
-
- 2004-09-07 jrandom
- * Disable the timestamper by default for all applications except the router
- (enable via -Dtime.disabled=false)
- * Simplify the retrieval of the full destination with text based browsers.
- * Bundle the updated wrapper.config and hosts.txt in the i2pupdate.tar.bz2
-
- 2004-09-07 jrandom
- * Write the native libraries to the current directory when they are loaded
- from a resource, and load them from that file on subsequent runs (in
- turn, we no longer *cough* delete the running libraries...)
- * Added support for a graceful restart.
- * Added new pseudo-shutdown hook specific to the router, allowing
- applications to request tasks to be run when the router shuts down. We
- use this for integration with the service manager, since otherwise a
- graceful shutdown would cause a timeout, followed by a forced hard
- shutdown.
- * Made the capacity calculator a bit more dynamic by not outright ignoring
- the otherwise valid capacity data for a period with a single rejected
- tunnel (except for the 10 minute period). In addition, peers with an
- equal capacity are ordered by speed rather than by their hashes.
- * Cleaned up the SimpleTimer, addressing some threading and synchronization
- issues.
- * When an I2PTunnel client or httpclient is explicitly closed, destroy the
- associated session (unless there are other clients using it), and deal
- with a closed session when starting a new I2PTunnel instance.
- * Refactoring and logging.
-
- 2004-09-06 jrandom
- * Address a race condition in the key management code that would manifest
- itself as a corrupt router identity.
- * Properly clear old transport addresses from being displayed on the old
- console after soft restarts.
- * Properly refuse to load the client applications more than once in the
- same JVM.
- * Added support for a graceful restart (a graceful shutdown followed by a
- full JVM restart - useful for restarting client apps).
- * More defensive programming, HTML cleanup, logging
- * wrapper.config cleanup of duplicate lines
-
- 2004-09-04 jrandom
- * Added some basic guards to prevent multiple instances from running.
- Specifically, a file "router.ping" in the install directory which is
- written to once a minute - if that file exists and has been modified
- within the last minute, refuse to start up. In turn, adjust the
- service wrapper to wait a minute before restarting a crashed JVM.
- * Create a "work" directory in the I2P install dir which Jetty will
- use for all of its temporary files.
- * Tell the browser not to cache most of the router console's pages.
-
- 2004-09-04 jrandom
- * Update the SDK to automatically reconnect indefinitely with an
- exponential delay on retries (capped at 5 minutes).
-
- * 2004-09-03 0.4 released
-
- 2004-09-03 jrandom
- * Updated default wrapper.config to deal with the hard restart option
- * Include the history.txt in the /help.jsp page
- * HTML updates (wrapper.log, and no more unix scripts)
- * Updated VERSION constants to 0.4
-
- 2004-09-03 hypercubus
- * Bugfix: Installer launches postinstall.bat on WinNT/2K properly.
- * Temporarily removed install_i2p_service_unix and
- uninstall_i2p_service_unix from distribution packages.
- * postinstall.bat/postinstall.sh cleans installation directory of all files
- not applicable to the host OS.
-
- 2004-09-03 oOo
- * Added some filters to the HTTP request, replacing the User-Agent,
- Referrer, Via, and From headers, which helps until we have a more
- comprehensive filtering system.
-
- 2004-09-03 jrandom
- * Disabled the old listener on port 7655.
-
- 2004-09-02 jrandom
- * Cleaned up the base build.xml, adding a new target ("updater") which
- builds the file i2pupdate.tar.bz2 which can be safely extracted over
- existing installs.
-
- 2004-xx-xx jrandom
- * Implemented the new web architecture and router console
- * Implemented I2PTunnel web interface, and revamped startup process.
- * Revamped peer selection code to address skew.
- * Removed all temporary threads from the router and the SDK.
- * Bugfix dealing with timeouts and resends.
- * Integrated Iakin's jcpuid library and jbigi update, with modifications.
-
- 2004-xx-xx hypercubus
- * Implemented the new installation process.
- * Integrated systray
- * Integrated service manager
-
- 2004-xx-xx oOo
- * Implemented ?i2paddresshelper= hook
- * Many small bugfixes to the web interface, router, i2ptunnel, and core.
-
- 2004-xx-xx Nightblade
- * libSAM updates.
-
- 2004-xx-xx cervantes
- * Imported i2pProxy.pac proxy script in with the build.
-
- * 2004-08-20 0.3.4.3 released
- * 2004-08-12 0.3.4.2 released
- * 2004-08-08 0.3.4.1 released
- * 2004-07-29 0.3.4 released
- * 2004-07-23 0.3.3 released
- * 2004-07-16 0.3.2.3 released
- * 2004-07-14 0.3.2.2 released
- * 2004-07-11 0.3.2.1 released
- * 2004-07-07 0.3.2 released
- * 2004-06-25 0.3.1.5 released
- * 2004-05-23 0.3.1.4 released
- * 2004-05-20 0.3.1.3 released
- * 2004-05-13 0.3.1.2 released
- * 2004-05-07 0.3.1.1 released
- * 2004-04-30 0.3.1 released
- * 2004-04-20 0.3.0.4 released
- * 2004-04-04 0.3.0.3 released
- * 2004-03-30 0.3.0.2 released
- * 2004-03-25 0.3.0.1 released
- * 2004-03-21 0.3.0 released
- * 2004-03-10 0.2.5.4 released
- * 2004-03-04 0.2.5.3 released
- * 2004-02-28 0.2.5.2 released
- * 2004-02-27 0.2.5.1 released
- * 2004-02-25 0.2.5 released
- * 2004-02-19 0.2.4.2 released
- * 2004-02-15 0.2.4.1 released
- * 2004-02-14 0.2.4 released
- * 2004-01-27 0.2.3.6 released
- * 2004-01-21 0.2.3.5 released
- * 2004-01-14 0.2.3.4 released
- * 2003-12-29 0.2.3.3 released
- * 2003-12-27 0.2.3.2 released
- * 2003-12-25 0.2.3.1 released
- * 2003-12-13 0.2.3 released
- * 2003-12-01 0.2.2 released
- * 2003-11-18 0.2.1.1 released
- * 2003-11-12 0.2.1 released
- * 2003-11-09 0.2.0.3 released
- * 2003-11-08 0.2.0.2 released
- * 2003-11-03 0.2.0.1 released
- * 2003-11-01 0.2 released
-